在 .NET 中,我需要将小数金额(金钱)转换为纯数字字符串,即: 123,456.78 -> 12345678
我以为
var dotPos = amount.ToString().LastIndexOf('.');
var amountString = amount.ToString().Remove(dotPos);
会解决我的问题,或者至少是部分问题,但它没有像我预期的那样工作。 我试图在不编写大量代码和使用已经为类似目的设计的东西的情况下做到这一点。
最佳答案
你可以这样做:
var amountString = string.Join("", amount.Where(char.IsDigit));
使用 char.IsDigit
方法可以保护您免受其他未知符号的影响,例如 $
,并且还可以处理其他货币格式。最重要的是,您无法确切地知道该字符串将始终是什么样子,因此这种方式更安全。
关于c# - 将小数转换为不带逗号或点的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17810211/