我正在尝试将字符串转换为印度货币格式,例如如果输入为“1234567”,则输出应为“12,34,567”
我编写了以下代码,但它没有给出预期的输出。
CultureInfo hindi = new CultureInfo("hi-IN");
string text = string.Format(hindi, "{0:c}", fare);
return text;
谁能告诉我该怎么做?
If fare
是以下任意一个int
, long
, decimal
, float
or double
然后我得到预期的输出:
₹ 12,34,567.00
.
我怀疑你的fare
实际上是一个string
;字符串的格式不是string.Format
: 他们是already一个字符串:没有要格式化的值。所以:首先解析它(使用任何合适的方法,可能是不变的十进制解析),然后格式化解析的值;例如:
// here we assume that `fare` is actually a `string`
string fare = "1234567";
decimal parsed = decimal.Parse(fare, CultureInfo.InvariantCulture);
CultureInfo hindi = new CultureInfo("hi-IN");
string text = string.Format(hindi, "{0:c}", parsed);
编辑评论;仅获取不带货币符号或小数部分的格式化值:
string text = string.Format(hindi, "{0:#,#}", value);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)