【问题标题】:C# CultureInfo NumberFormat NumberDecimalSeparator ProblemC# CultureInfo NumberFormat NumberDecimalSeparator 问题
【发布时间】:2011-01-14 15:43:57
【问题描述】:

我想将我的应用程序的 NumberDecimalSeparator 从“.”更改为到 ”/”。当我在我的文本框中显示浮点数时它可以工作。但整数类型根本不显示。

我修改线程的文化以获得应用程序范围的格式。我的代码是这样的:

CultureInfo ci = new CultureInfo("fa-IR", true);
ci.NumberFormat.DigitSubstitution = DigitShapes.NativeNational;
ci.NumberFormat.NumberDecimalSeparator = "/";
Thread.CurrentThread.CurrentCulture = ci;

结果:

3.14 => "3/14" 100 => ""

有什么帮助吗?

【问题讨论】:

    标签: c# cultureinfo number-formatting


    【解决方案1】:

    我刚刚创建了这样的测试控制台应用程序,但得到了这样的输出:

    Input next value:
    3.14
    3/14
    Input next value:
    100
    100
    

    我的代码是:

    using System;
    using System.Globalization;
    using System.Threading;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                CultureInfo ci = new CultureInfo("en-US", true);            
                Thread.CurrentThread.CurrentCulture = ci;
                Console.WriteLine("Input next value:");
                string input = Console.ReadLine();
    
                while (input != "e")
                {
                    double dblInput = double.Parse(input);
                    CultureInfo ci2 = new CultureInfo("fa-IR", true);
                    ci2.NumberFormat.DigitSubstitution = DigitShapes.NativeNational;
                    ci2.NumberFormat.NumberDecimalSeparator = "/";
                    Thread.CurrentThread.CurrentCulture = ci2;
    
                    Console.WriteLine(dblInput);
                    Console.WriteLine("Input next value:");
                    input = Console.ReadLine();
                }
            }
        }
    }
    

    这里有什么不适用于您的问题吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多