我正在转换数据以供导出。
该文件显示的数据以美分为单位,而不是美元。
因此 1234.56 需要打印为 123456
有没有办法用string.Format
做到这一点?
或者乘以 100 是唯一的解决方案吗?
最佳答案
您可以使用 string.Replace(".", string.empty)。但这并不完全本地化。您可以在检查“,”的情况下添加国际货币。但这就是我会做的。
[编辑]
还刚刚发现这个: http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
“N”数字说明符允许您更改用于分隔整数和小数部分的符号。
<code>
decimal num = 123.456m;
NumberFormatInfo ci = CultureInfo.CurrentCulture.NumberFormat;
ci.CurrencyDecimalSeparator = " "; // You can't use string.Empty here, as it throws an exception.
string str = num.ToString("N", ci).Replace(" ", string.Empty);
</code>
类似的东西应该可以解决问题,并且是本地化的!
关于c# - 从货币中删除小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486431/