c# - 从货币中删除小数

标签 c# string-formatting currency

我正在转换数据以供导出。

该文件显示的数据以美分为单位,而不是美元。

因此 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/

相关文章:

c# - 格式字符串值精度不起作用

sql - 在 Oracle Sql 查询中获取格式化字符串

r - 在 readr R 中使用 parse_number 的负货币值

c# - WPF Listbox.selecteditems 按选择的顺序返回项目

c# - COMException (0x80040154) : Class not registered when using AxAcroPDFLib

c - 为什么 C 的 printf 格式字符串同时有 %c 和 %s?

java - 如何在java中将美元金额转换为美分?

c# - 如何格式化 ListView 列以显示货币符号

c# - 重复播放列表中的单首歌曲

c# - 从 Toast 通知激活时应用程序在启动时崩溃