2011-01-14 6 views
1

Ich möchte NumberDecimalSeparator meiner Anwendung von "ändern." zu "/". Es funktioniert, wenn ich Float-Nummern in meiner Textbox zeige. Integer-Typen werden jedoch überhaupt nicht angezeigt.C# CultureInfo NumberFormat NumberDecimalSeparator Problem

Ich ändere Thread-Kultur, um Anwendung-weite Formatierung zu erhalten. mein Code wie folgt aus:

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

Ergebnis:

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

Jede Hilfe bitte?

Antwort

2

ich nur solche Testkonsolenanwendung erstellen, sondern haben eine Ausgabe wie folgt bekommen:

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

Mein Code war:

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

Ist hier etwas nicht zu Ihrer Frage applicabale?