0

如果在小数点后发现较少的整数,我需要在小数点后动态设置“0”。

假设我们有值:“535.8” 现在我需要将其设置为“535.800”,我有以下代码:

string cost = "535.8";
string decplace = "3";

decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
Console.WriteLine(price);
Console.ReadLine();

无法获得 535.800。

我怎样才能做到这一点?

4

3 回答 3

1

您可以将价格转换为字符串并显示最多 3 位小数,并以 0 结尾。

            string cost = "535.8";
            string decplace = "3";

            decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
            //string.Format("{0:N2}", price);
            Console.WriteLine(string.Format("{0:N3}", price));
于 2013-07-19T10:46:12.113 回答
0

您可以使用string.Format()它来实现:

Console.WriteLine(string.Format("{0:N3}", d));

所以在你的代码中:

string cost = "535.8";
string decplace = "3";

decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
Console.WriteLine(string.Format("{0:N" + decplace + "}", price);
Console.ReadLine();
于 2013-07-19T10:43:48.647 回答
0
price.ToString("N3")

标准数字格式字符串:数字(“N”)格式说明符

因此,如果小数位数应该是动态的:

int numDecimalPlaces = 3;
Console.WriteLine(price.ToString("N" + numDecimalPlaces));
于 2013-07-19T10:40:55.617 回答