代码之家  ›  专栏  ›  技术社区  ›  Caverman

如何将一个字符串转换为小数点后2位?

  •  0
  • Caverman  · 技术社区  · 5 年前

    我在搜索中找到的所有内容都会将字符串转换为十进制,但字符串已经有小数点。我可能需要创建一个函数,它将把字符串中的小数点去掉,但是我想先看看是否有其他的想法。

    2 回复  |  直到 5 年前
        1
  •  1
  •   Andrew Shepherd    5 年前
        string input = "001150";
        string convertedString = string.Format(
            "{0:N2}",
            double.Parse(input)/100.0
        );
    
        2
  •  0
  •   henoc salinas    5 年前

    首先检查字符串是否为数字,然后除以100,然后格式化字符串:

    public string ConvertTwoDecimals(string toConvert)
      {
        Double convertedValue;
        var isNumber = Double.TryParse(toConvert, out convertedValue);
        return isNumber ? $"{(convertedValue / 100):N2}" : $"{ 0:N2}";
      }
    

    如果需要不带格式的十进制类型:

    public decimal ConvertToDecimal(string toConvert)
    {
      Decimal convertedValue;
      var isNumber = Decimal.TryParse(toConvert, out convertedValue);
      return isNumber ? convertedValue/100 : 0;
    }
    
    推荐文章