用点号来表示十进制数的小数部分,而不是逗号。

5
我找到了很多解决方案,可以先使用逗号再使用点,我想要的是这样的格式:133.000,00 我尝试过以下内容:@item.Price.ToString("C3", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK")) 以及 @String.Format("{0:#.##0,######}", item.Price) 在第二个格式中,我只得到了133000.00

我们可以澄清一下:你想表示的价格是“133千”还是“133点零”? - Marc Gravell
@MarcGravell,它是“133,000”。 - Serlok
2个回答

5
您可能是指(在var culture = CultureInfo.CreateSpecificCulture("da-DK");之后)
var s = price.ToString("#,##0.00####", culture);

或者:

var s = string.Format(culture, "{0:#,##0.00####}", price);

在这两种情况下,您需要传入要使用的文化,并且:格式字符串中的表示“文化的小数点标记”,而格式字符串中的,表示“文化的千位分隔符标记”。请注意,我在结尾处使用了.00##,因为您似乎希望即使它们是零,也要有两个小数位。

我想提一下,我正在使用asp.net core、razor page进行开发,我现在会尝试它。 - Serlok

0

类似这样的代码应该可以运行:

item.Price.ToString("#,#0.00", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接