如何在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 ..

答案

您可以使用NumberFormatCultureInfo属性来查找有关文化数字格式的信息,包括:

然后,您可以使用此信息将您的号码转换为本机格式。

例如:

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

显示:

-૧૨૩૪૫૬૭૮૯૦.૧૨૩

最好存储独立于文化的每种类型,例如,使用标准语言类型,如intdoubleDateTime,然后在使用.Net Framework本地化机制的应用程序中,显示值的本地化版本。

以上是关于如何在Windows窗体应用程序中显示古吉拉特语本地数字?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 窗体应用程序中显示 cv::Mat?

如何在 Windows 窗体应用程序的 rdlc 报告中显示数据库中的图像

如何在任务栏顶部全屏显示 Windows 窗体? [复制]

似乎缺少 Windows 窗体应用程序选项?

delphi程序如何从任务栏及时还原、显示窗体?

如何使用 c# 从 Windows 窗体向用户显示默认的 Windows 身份验证提示?