如果未找到值,则在小数位置设置0

时间:2013-07-19 10:36:13

标签: c# logic

如果在小数位后找到较小的整数,我需要动态地在小数位末尾设置“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。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分:0)

price.ToString("N3")

Standard Numeric Format Strings: The Numeric ("N") Format Specifier

所以如果十进制数应该是动态的:

int numDecimalPlaces = 3;
Console.WriteLine(price.ToString("N" + numDecimalPlaces));

答案 2 :(得分: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();