gpt4 book ai didi

c# - 显示带有文化信息但不带格式的数字

转载 作者:行者123 更新时间:2023-11-30 17:53:58 24 4
gpt4 key购买 nike

我认为这很简单; .Net Framework 有很多函数可以完全按照您的需要格式化数字,但我仍然无法完成这项工作。

问题:按照欧洲规则显示数字,所以用“.”用于千位分隔符,“,”用于小数点分隔符,但不固定小数位数。

例如,如果我有 1234,它应该打印为 "1.234",而 1234.5 应该打印为 "1.234,5"。但我尝试过的所有格式都不能做到这一点!

示例:假设 ci 是具有正确设置的 CultureInfo,则

num.ToString(ci) -> "1234,5" 小数可以,但没有千位分隔符
num.ToString("G", ci) -> "1234,5" 同上
num.ToString("N", ci) -> "1.234,50" 千位分隔符可以,但小数点太多了

等等。类似于使用 NumberFormatInfo 而不是 CultureInfo,或者尝试使用 String.FormatConvert.ToString。有人有任何其他想法吗?

最佳答案

你可以像这样硬编码格式化字符串

num.ToString("###,###,###.####");

这将输出关于 tu 当前线程文化信息的信息。如果你有欧洲文化,你就会得到“。”作为千位分隔符。这将输出最多 4 个不等于 0 的小数。如果你有更大的数字或需要更高的精度,你可以增加小数位数和组数。但是,不确定是否有更优雅的方式......

关于c# - 显示带有文化信息但不带格式的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com