在C#中格式化十进制数字

时间:2018-09-18 15:55:20

标签: c# formatting number-formatting

如何转换这些数字

示例:

  1. 77.0227
  2. 0.0803
  3. 1.1567

分别输入这些数字:

  1. 77,02
  2. 8,03
  3. 1,16

所有这些都需要使用相同的“格式”来完成。 这些值来自SQL中的存储过程,它们总是不同的,但是它们必须采用正确的格式。它们都是百分比值。

2 个答案:

答案 0 :(得分:2)

您可以使用fixed-point ("F") format specifier舍入到两位数:

decimal number = 77.0227m;
string result = number.ToString("F2");

如果这不能为您提供所需的格式(例如,没有逗号,而是点),那么您必须传递所需的区域性。假设您要西班牙语:

var spanishCulture = new CultureInfo("es-ES");
string result = number.ToString("F2", spanishCulture);

答案 1 :(得分:0)

如果需要逗号作为小数点分隔符,则需要指定区域性;像这样:

string result = string.Format(new System.Globalization.CultureInfo("es-ES"), "{0:#,##0.00}", inputValue);

我假设是西班牙的文化(西班牙语),所以请尝试使用该代码。

this fiddle中查看运行示例。