我有一个大问题,我用这些代码生成货币数字,
Dim reg = New Regex("\d+")
Dim str As String = dZ.Rows(y).Item(14).ToString().Replace(",", ""). _
Replace(".00", "").Replace("$", "").Trim
Dim match = reg.Match(str)
If match.Success Then
str = reg.Replace(str, Decimal.Parse(match.Value).ToString("C"))
End If
是的,它有效,但如果我的金额是:
1,900.50 POC
答案 0 :(得分:1)
kelvzy你的解决方案不是很灵活。我会建议我的解决方案:
string cellValue = dZ.Rows[y][14];
string cleanedCellValue = Regex.Replace(s, @"\s[^\d.,]+", "");
//this will replace everything after the last digit
string decimalValue = Convert.ToDecimal(cleanedCellValue, CultureInfo.InvariantCulture);
string str = decimalValue.ToString("C");
当每个单元格使用逗号作为千位分隔符,点作为小数分隔符,任何符号作为货币符号时,此解决方案将起作用。
在其他情况下请给我更多例子