【发布时间】:2011-05-04 21:45:11
【问题描述】:
我有一个货币格式为 $35.00 的字符串,它必须转换为 35。
是否可以使用String.Format{ }检索
【问题讨论】:
-
之前有人问过一些非常相似的问题。 stackoverflow.com/questions/2753701/…
标签: c# formatting int currency
我有一个货币格式为 $35.00 的字符串,它必须转换为 35。
是否可以使用String.Format{ }检索
【问题讨论】:
标签: c# formatting int currency
int value = int.Parse("$35.00", NumberStyles.Currency);
应该给你你需要的答案。
但是,像 $35.50 这样的值转换为整数可能不会返回您想要的值,因为整数不支持部分(十进制)数字。你没有具体说明在那种情况下会发生什么。
[编辑:将双精度更改为十进制,使用货币更安全]
如果您想在这种情况下获得 35.5 的值,您可能需要使用小数类型。
decimal value = decimal.Parse("$35.00", NumberStyles.Currency);
请注意,在处理金钱和浮点精度时,您必须非常小心。
【讨论】:
decimal 类型进行所有货币/货币相关的操作。