如何强制我的 C# Windows 窗体使用阿拉伯数字?

2024-01-15

我试图强制我的表单使用阿拉伯格式,例如将(1-2-3-4-..等)数字显示为(٠‎、١‎、٢‎、٣‎、٤‎、٥‎、٦‎ 、 ٧‎ 、 ٨‎ 、 ٩‎) 在我的所有形式中,无论它是Textbox,orlables或者无论它是什么

我搜索并发现了很多关于这个问题的问题,其中大多数都不起作用,而我认为其他的似乎不是很好的答案,例如此处接受的答案 https://stackoverflow.com/questions/2298153/how-can-i-convert-english-digits-to-arabic-digits如下所示,我在表单加载方面尝试过,这对我的问题没有影响

这是一个接受的答案 https://stackoverflow.com/questions/8926792/converting-numbers-from-western-arabic-digits-1-2-3-to-eastern-arabic-digit那说文化信息不会有帮助,是吗?因为我认为这个答案不对

所以请有人能帮助我

private void F0102_Load(object sender, EventArgs e)
{
    CultureInfo ar_culture = new CultureInfo("ar-SA");
    Thread.CurrentThread.CurrentCulture = ar_culture;
    Thread.CurrentThread.CurrentUICulture = ar_culture;
}

大多数阿拉伯人使用西方阿拉伯数字(1、2、3...)进行数学计算。因此,即使ar-SA你在格式化数字时得到的文化。使用您自己的格式化函数来获取东部阿拉伯数字。

public static string ToArabic(long num)
{
    const string _arabicDigits = "۰۱۲۳۴۵۶۷۸۹";
    return new string(num.ToString().Select(c => _arabicDigits[c - '0']).ToArray());
}

您还可以创建自己的格式提供程序:

public class ArabicNumberFormatProvider : IFormatProvider, ICustomFormatter
{
    public static readonly ArabicNumberFormatProvider Instance =
        new ArabicNumberFormatProvider();

    private ArabicNumberFormatProvider() { }

    public object GetFormat(Type formatType) { return this; }

    public string Format(string format, object arg, IFormatProvider formatProvider)
    {
        switch (arg) {
            case long l:
                return ToArabic(l);
            case int i:
                return ToArabic(i);
            default:
                return null;
        }
    }

    public static string ToArabic(long num)
    {
        const string _arabicDigits = "۰۱۲۳۴۵۶۷۸۹";
        return new string(num.ToString().Select(c => _arabicDigits[c - '0']).ToArray());
    }
}

Example:

string arabic = String.Format(ArabicNumberFormatProvider.Instance,"{0}", 1234567890);

Output:

1234567890

然而,num.ToString(ArabicNumberFormatProvider.Instance)不起作用。看https://stackoverflow.com/a/6240052/880990 https://stackoverflow.com/a/6240052/880990了解详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制我的 C# Windows 窗体使用阿拉伯数字? 的相关文章

随机推荐

  • 是否可以将用户从我的 mongodb 数据库迁移到 aws cognito 用户池?

    为了获得更好的安全性 我想将所有 Web 应用程序用户迁移到 aws cognito 是否可以将用户数据从 mongodb 迁移到 cognito 以便我的所有客户都可以使用相同的旧密码登录 或者迁移后是否强制要求更改密码 A rough
  • 关闭通过模态 segue 显示的视图

    我手动调用 segue 设置为模态 以便使用 Storyboards 和以下代码行在 Xcode 4 2 中显示登录表单 self performSegueWithIdentifier LoginSegue sender nil 我可能错过
  • 如何在矩阵或二进制图像中绘制多边形以便使用图像处理功能?

    我正在开发一个 matlab 程序 其中使用多边形 凹或凸 我需要在多边形上使用图像处理函数 如 imdilate 或 imerode 等 为此 我应该将多边形转换为图像 我想知道是否有一种方法可以直接在二进制矩阵中绘制多边形 1 代表前景
  • 如何让 R Shiny downloadHandler 文件名正常工作?

    我正在设置一个 Shiny 应用程序 允许用户下载自定义数据集 继tutorial https shiny rstudio com articles download html 我设置了下载处理程序 https shiny rstudio
  • Pandas 通过切片计算复合年增长率

    给定以下数据框 df pd DataFrame A 1 2 3 7 B 7 6 5 4 C 5 6 7 1 D 1 9 9 8 df df set index A df B C D A 1 7 5 1 2 6 6 9 3 5 7 9 7 4
  • Azure Docker Web 应用程序上的“启动文件”

    docker web 应用程序选项上的 启动文件 选项是docker compose文件 或者 shell 命令 我找不到任何相关文档 基本上我希望我的网络应用程序运行docker compose yml当我将图像推送到它时 而不是执行 d
  • 如何使用 Fabric 创建 postgresql 用户

    我想为我的设置 Fabric 脚本创建一个数据库用户 但 createuser 具有交互式密码输入功能 并且接缝不喜欢 Fabric 用 Fabric 示例来扩展答案 In fabfile py def create database Cr
  • 在 TextMate 中折叠全部

    有没有办法折叠 TextMate 中给定 php 文件中的所有函数 例如我有两种方法 function index Sample code function beforeFilter Sample Code 我希望能够发出一个命令 其中所有
  • 用户没有访问数据库的权限

    我正在尝试使用 Windows 身份验证连接到数据库 我相信我当前的用户无权访问它 如何让用户登录 SQL Server 并使用数据库 您需要使用 SQL Server Management Studio 程序来授予用户访问权限 您需要使用
  • git-p4:致命:构建 git 时不支持 git-p4 (NO_PYTHON=1)

    我正在尝试在我的 Linux 计算机上使用 git p4 但由于某种原因 git p4 似乎有问题 当我运行 git p4 命令时 我得到 fatal git was built without support for git p4 NO
  • 长时间运行的 PHP 脚本在通过 exec() 调用时停止,但在通过 CLI 调用时完成

    我有一堆脚本需要很长时间才能完成 其中一些可能需要长达 20 分钟 有一个 Bash 脚本可以执行这些 PHP 脚本 当我以 root 身份通过 CLI 调用此 Bash 脚本时 所有 PHP 脚本都会顺利完成 但是 当我通过浏览器使用 P
  • 安装 Eclipse 的 ADT 插件

    我正在尝试为 Eclipse 安装 ADT 插件 但是 当我进入 安装新软件 并输入插件位置后https dl ssl google com android eclipse https dl ssl google com android e
  • Delphi - 窗体中的窗体

    出于美观原因 我想在另一个表单之上显示一个表单 就像它是一个组件一样 比如 TPanel 它应该随父级一起调整大小 当父级被标题栏拖动时四处移动 等等 main form component 1 main the embedded form
  • 悬停时反转关键帧动画

    这是一个演示 http codepen io Tiger0915 pen GgjVLN http codepen io Tiger0915 pen GgjVLN 我有一个keyframe动画开启hover of the circle分区当您
  • 如何从 Terraform 中的地图中删除与键值匹配的值

    我有一个如下所示的示例地图 并且正在尝试删除任何具有与 bong 匹配的 key2 值的帐户 所以起始地图看起来像这样 sample map account1 key1 foo key2 bar account2 key1 bing key
  • 在 MVC 4.0 中的部分视图中使用节

    当我需要在特定元素上初始化 jQuery ui 时 我想在部分视图中包含脚本 它确实属于部分而不是包含页面或布局 据说 MVC 4 中有一种方法可以做到这一点 但我似乎找不到任何有关它的信息 我也有类似的问题 希望这可以帮助 我们希望有一个
  • 如何使用node-mysql而不将所有行加载到内存中?

    我正在使用 NodeJS 我想对 1 000 000 行执行某些操作 而不将所有行加载到内存中 对于每个 之前 当我使用 ASP Classic 时 我这样做 do while not rec eof do something rec mo
  • 将模板渲染为字符串?

    是否可以将模板 渲染 为字符串 我想使用一个模板并填充一些值 然后我必须将这些值保存到本地磁盘 渲染方法总是将模板发送到客户端 我想要类似于运行模板的东西 但将模板的输出保存到可以存储在本地文件系统中的本地字符串变量 它比你想象的更简单 d
  • 使用 Google Cloud Storage 的文档管理系统

    我目前正在研究 Google App Engine 的不同方面 仍处于研究阶段 构建了一些小型应用程序并将其部署在云上 最近 当我为云存储 即 gsUtil 安装命令行时 我遇到了云存储的版本控制支持 并且能够通过 gsUtil 检索旧对象
  • 如何强制我的 C# Windows 窗体使用阿拉伯数字?

    我试图强制我的表单使用阿拉伯格式 例如将 1 2 3 4 等 数字显示为 在我的所有形式中 无论它是Textbox orlables或者无论它是什么 我搜索并发现了很多关于这个问题的问题 其中大多数都不起作用 而我认为其他的似乎不是很好的答