【问题标题】:How to format a Currency string to Integer?如何将货币字符串格式化为整数?
【发布时间】:2011-05-04 21:45:11
【问题描述】:

我有一个货币格式为 $35.00 的字符串,它必须转换为 35。

是否可以使用String.Format{ }检索

【问题讨论】:

标签: c# formatting int currency


【解决方案1】:
int value = int.Parse("$35.00", NumberStyles.Currency);

应该给你你需要的答案。

但是,像 $35.50 这样的值转换为整数可能不会返回您想要的值,因为整数不支持部分(十进制)数字。你没有具体说明在那种情况下会发生什么。

[编辑:将双精度更改为十进制,使用货币更安全]

如果您想在这种情况下获得 35.5 的值,您可能需要使用小数类型。

decimal value = decimal.Parse("$35.00", NumberStyles.Currency);

请注意,在处理金钱和浮点精度时,您必须非常小心。

【讨论】:

  • 您应该使用decimal 类型进行所有货币/货币相关的操作。
  • 啊,是的,一个很好的观点。我个人从不编写与金钱有关的代码,并且倾向于忘记小数类型甚至存在。
  • 如果它对您有用,请考虑将其标记为答案。这样其他有同样问题的人就知道什么是有效的。很高兴你得到它。
猜你喜欢
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多