C# CultureInfo NumberFormat NumberDecimalSeparator 问题
Posted
技术标签:
【中文标题】C# CultureInfo NumberFormat NumberDecimalSeparator 问题【英文标题】:C# CultureInfo NumberFormat NumberDecimalSeparator Problem 【发布时间】: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 => ""
有什么帮助吗?
【问题讨论】:
【参考方案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();
这里有什么不适用于您的问题吗?
【讨论】:
以上是关于C# CultureInfo NumberFormat NumberDecimalSeparator 问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 C# 在 String 或 Char 上使用 ToString() 时,在啥情况下需要提供 CultureInfo IFormatProvider?