如何在字符串中间对数值添加千分位分隔符与小数点格式化?
如何在字符串中为Decimal数值添加千分位分隔符
问题说明
想要在字符串中间为数值添加千分位分隔符,尝试以下代码但未达到预期效果:
TextBox1.Text = "This Amount" & FORMAT(CStr(3458185.45),2) & " Deducted"
期望实现类似 TextBox1.Text = "This Amount Rs. 3,458,185.45 Deducted" 的格式,且数值实际来自Decimal类型变量didAmount。
可行解决方案
直接对Decimal类型变量调用ToString方法,指定格式字符串"N"并结合CultureInfo.InvariantCulture保证千分位格式的一致性:
Dim didAmount As Decimal = 3458485.45 TextBox1.Text = "This Amount " & didAmount.ToString("N", CultureInfo.InvariantCulture) & " Deducted."
额外说明
- 原代码失效原因:先将数值转为字符串再使用
FORMAT函数,且FORMAT的参数使用不符合要求,正确做法是直接对Decimal变量调用格式化方法,避免多余的类型转换。 - 若需要添加货币符号(如示例中的Rs.),直接拼接在格式化后的数值前即可:
TextBox1.Text = "This Amount Rs. " & didAmount.ToString("N", CultureInfo.InvariantCulture) & " Deducted."
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

