使用","和"."将小数定位错误.

Dan*_*son 1 c# cultureinfo

我想要一个小数的价格和小数字符号本地化.根据文化,小数可能使用,..

现在我这样做:

subItem.price.ToString("#.#", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

但如果价格是0(没有小数点),结果就是结果"",这会让我的系统崩溃.

是否有比更好的方式"#.#"处理更好的模式0

Son*_*nül 5

如何使用"0"自定义格式说明符呢?

Console.WriteLine((0).ToString("0.0", CultureInfo.InvariantCulture));
Run Code Online (Sandbox Code Playgroud)

版画

0.0
Run Code Online (Sandbox Code Playgroud)

你的代码,因为从返回空字符串"#"自定义格式说明

将"#"符号替换为相应的数字(如果存在); 否则,结果字符串中不会出现数字. 请注意,即使零是字符串中的唯一数字,此说明符也不会显示不是有效数字的零.仅当它是显示的数字中的有效数字时,它才会显示零.

顺便说一句,你的标题和问题说的不同.您的问题与格式化值时使用的小数点分隔符号无关.这就是为什么在格式化0值时得到空字符串的原因.