如何将Currency字符串格式化为Integer?

Pra*_*ran 6 c# int formatting currency

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

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

Kha*_*los 13

int value = int.Parse("$35.00", NumberStyles.Currency);
Run Code Online (Sandbox Code Playgroud)

应该给你你需要的答案.

但是,转换为整数的$ 35.50之类的值可能不会返回您想要的值,因为整数不支持部分(十进制)数字.您没有指定在这种情况下会发生什么.

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

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

decimal value = decimal.Parse("$35.00", NumberStyles.Currency);
Run Code Online (Sandbox Code Playgroud)

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

  • 您应该对所有与货币/货币相关的操作使用`decimal`类型. (2认同)