【发布时间】:2019-02-12 09:08:55
【问题描述】:
我正在尝试使用正则表达式将数字格式化为金额格式,如下所示。
var input = "1234567.00"
var pattern = @"\d(?=(\d{3},?)+\.)";
var replacement = "$$$&,";
var output = Regex.Replace(input, pattern, replacement);
这给了我 $1,23$4,567.00(额外的 $)。
我想要像下面这样
Input:1234567.00 or 1234,567.00 or 1234567 should return $1,234,567.00
请提出正确的建议。
【问题讨论】:
-
你想得到什么?结果呢?
-
@SL5net 已更新。请检查
-
如何使用正则表达式?你没有。将其解析为小数并使用字符串格式选项将其转换为货币格式的字符串...
-
为什么不使用 ToString("C") 并检查stackoverflow.com/questions/45600344/…
-
"如果你只有一个正则表达式,那么一切看起来就像一个字符串操作。"