如何在Windows窗体应用程序中显示古吉拉特语本地数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows窗体应用程序中显示古吉拉特语本地数字?相关的知识,希望对你有一定的参考价值。
我想用Gujarati
开发Windows form application
c#.net
。但我有问题
1)计算古吉拉特语中的两个数字。我解决了这个代码
public static double ParseValue(string value)
{
return double.Parse(string.Join("",
value.Select(c => "+-.".Contains(c)
? "" + c: "" + char.GetNumericValue(c)).ToArray()),
NumberFormatInfo.InvariantInfo);
}
但是这个代码提供了英文数值。
但是当计算两个Guajarati no时,我得到英文输出。像这样:
Label1.Text = (ParseValue(TextBox1.Text) + ParseValue(TextBox2.Text)).ToString();
//Output is Like this
// ૩ + ૬ = 9
那我如何得到古吉拉特语数字输出
2)Microsoft Access
中Gujarati Value的数据类型是什么?对于Numeric,DateTime ETC ..
答案
您可以使用NumberFormat
的CultureInfo
属性来查找有关文化数字格式的信息,包括:
- NativeDigits:一个字符串数组,其原始数字相当于西方数字0到9。
- NegativeSign:表示相关数字为负数的字符串。
- NumberDecimalSeparator:在数值中用作小数分隔符的字符串。
然后,您可以使用此信息将您的号码转换为本机格式。
例如:
public string GetNativeRepresentation(double value)
{
var format = CultureInfo.GetCultureInfo("gu-IN").NumberFormat;
return String.Join("", value.ToString(CultureInfo.InvariantCulture)
.Select(x =>
{
if ("1234567890".Contains(x.ToString()))
return format.NativeDigits[x - '0'];
else if (x == '-')
return format.NegativeSign;
else if (x == '.')
return format.NumberDecimalSeparator;
else
return x.ToString();
}));
}
例如:
MessageBox.Show(GetNativeRepresentation(-1234567890.123));
显示:
-૧૨૩૪૫૬૭૮૯૦.૧૨૩
最好存储独立于文化的每种类型,例如,使用标准语言类型,如int
,double
和DateTime
,然后在使用.Net Framework本地化机制的应用程序中,显示值的本地化版本。
以上是关于如何在Windows窗体应用程序中显示古吉拉特语本地数字?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 窗体应用程序中显示 cv::Mat?