如何将字符串转换为印度货币格式? [英] How do I convert string to Indian Money format?

查看:37
本文介绍了如何将字符串转换为印度货币格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将字符串转换为印度货币格式,就像输入是1234567"然后输出应该是12,34,567"

I am trying to convert string to India Money format like if input is "1234567" then output should come as "12,34,567"

我编写了以下代码,但没有给出预期的输出.

I have written following code but its not giving the expected output.

 CultureInfo hindi = new CultureInfo("hi-IN");
 string text = string.Format(hindi, "{0:c}", fare);
 return text;

谁能告诉我怎么做?

推荐答案

If fare is any of any int, long, 十进制floatdouble 然后我得到预期的输出:

If fare is any of int, long, decimal, float or double then I get the expected output of:

12,34,567.00 卢比.

我怀疑你的 fare 实际上是一个 string;字符串不是由 string.Format 格式化的:它们已经是一个字符串:没有要格式化的值.所以:首先解析它(使用任何合适的,可能是不变的十进制解析),然后格式化解析的值;例如:

I suspect your fare is actually a string; strings are not formatted by string.Format: they are already a string: there is no value to format. So: parse it first (using whatever is appropriate, maybe an invariant decimal parse), then format the parsed value; for example:

// 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);

<小时>

编辑重新评论;只获取没有货币符号或小数部分的格式化值:


Edit re comments; to get just the formatted value without the currency symbol or decimal portion:

string text = string.Format(hindi, "{0:#,#}", value);

这篇关于如何将字符串转换为印度货币格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆