Definición de números decimales en un sistema de operación diferente, cómo entender si la punta o la coma son utilizadas por C # -- # campo con operating-system campo con decimal camp Relacionados El problema

Defining decimal numbers on different operation system, how to understand if point or comma is used by C#


1
vote

problema

Español

He escrito un pequeño programa donde el programa funciona de manera diferente en diferentes sistemas operativos (XP, Win7), el problema es que el programa lee algunos números de flotador, como 2,686.

Un sistema operativo (Win7) lo convierte para flotar VERDADERO, pero en XP se equivoca y le imprime 2686. ¿Cómo puedo entender qué símbolo utiliza el sistema operativo para los números decimales?

gracias.

Original en ingles

I have written a small program where the program works differently on different operating systems (xp, win7) The problem is the program reads some float numbers such 2,686.

One operating system (win7) convert it to float true, but on xp it goes wrong and print it 2686. How can I understand which symbol the operation system uses for decimal numbers ?

Thanks.

        

Lista de respuestas

5
 
vote
vote
La mejor respuesta
 
  searchItemInput = (text) => {     const search = text;     const results = this.state.itemSearch.filter((item) => {               return item.title.indexOf(search) > -1;     });     search.length > 0 ? this.setState({ item: results }) : this.setState({ item: [] }); } 111  
 
string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator; 
 
 
     
     
2
 
vote

Esto no depende del sistema operativo, sino en la configuración de idioma (predeterminada) en cada PC.

Si usa: searchItemInput = (text) => { const search = text; const results = this.state.itemSearch.filter((item) => { return item.title.indexOf(search) > -1; }); search.length > 0 ? this.setState({ item: results }) : this.setState({ item: [] }); } 2 Está usando cualquier cultura que el usuario haya configurado. Si conoce la entrada que debe estar en un determinado formato, use:

  searchItemInput = (text) => {     const search = text;     const results = this.state.itemSearch.filter((item) => {               return item.title.indexOf(search) > -1;     });     search.length > 0 ? this.setState({ item: results }) : this.setState({ item: [] }); } 3  

Cada función que convierte tiene (1 o más) sobrecargas para tomar un FormatingProvider (Culture).

 

This does not depend on the operating system but at the (default) language settings on each PC.

If you use : double value = double.Parse(text); you are using whatever culture the user has configured. If you know the input to be in a certain format, use:

var ci = CultureInfo.GetCulture("nl-NL");  // dutch double value = double.Parse(text, ci); 

Every function that converts has (1 or more) overloads to take a FormattingProvider (Culture).

 
 
1
 
vote

analizar los números de puntos flotantes usando la cultura actual del usuario con doble.Parse (cadena, sistema.globalización.cultureinfo.currentculture);

 

parse the floating point numbers using the user current culture with double.Parse(string, System.Globalization.CultureInfo.CurrentCulture);

 
 
1
 
vote

El separador decimal se decide por la cultura actual.

Si desea utilizar un carácter específico como separador decimal, puede crear un objeto personalizado NumberFormatInfo con cualquier separador que desee. Si desea utilizar el período como separador de Deimcal, simplemente puede usar InvariantCulture :

  double n = Double.Parse(s, CultureInfo.InvariantCulture);   

Si desea utilizar coma, puede elegir una cultura que tenga eso, por ejemplo, sueco:

  double n = Double.Parse(s, CultureInfo.GetCultureInfo("sv-SE"));   
 

The decimal separator is decided by the current culture.

If you want to use a specific character as decimal separator, you can create a custom NumberFormatInfo object with any separator you like. If you want to use period as deimcal separator, you can simply use InvariantCulture:

double n = Double.Parse(s, CultureInfo.InvariantCulture); 

If you want to use comma, you can choose a culture that has that, for example swedish:

double n = Double.Parse(s, CultureInfo.GetCultureInfo("sv-SE")); 
 
 

Relacionados problema

1  Entrada regional del separador decimal [cerrado]  ( Regional decimal seperator input ) 
cerrado . Esta pregunta debe ser más enfocado . Actualmente no está aceptando respuestas. ...

2  Entrada Xamarin.Forms con automóviles miles y separadores decimales  ( Xamarin forms entry with auto thousand and decimal separator ) 
Tengo una entrada de Xamarin.Forms con teclado numérico que representará una moneda real de PT -R (999.999,99). Cuando escribo los números en el teclado numér...

3  Configuración de bits específicos en un número  ( Setting specific bits in a number ) 
var d = 7; en binario: 7 = (111) Lo que quiero hacer es configurar el segundo lugar de derecha a 1 o 0 a disposición, y devolver el valor decimal. Por...

13  Decimal aleatorio en Python  ( Random decimal in python ) 
¿Cómo obtengo un aleatorio decimal.Decimal instancia? Parece que el módulo aleatorio solo devuelve los flotadores que son un pita para convertir a decimal...

-1  Puntos decimales de Java  ( Java decimal points ) 
Mi pregunta es: ¿Cómo hago que el programa imprima el número de dígitos antes del punto decimal y cuántos vienen después de un número? public class Strin...

12  Implementaciones de protocolo duplicado en proyectos dependientes  ( Duplicate protocol implementations in dependent projects ) 
Tengo problemas con la consolidación de la implementación del protocolo en mi proyecto Elixir. Para ser más específico, utilizo Ecto y algún proyecto simple...

2  Python decimal desesperadamente simple  ( Desperately simple python decimal ) 
Hola, necesito ayuda por favor. Quiero calcular los números de flotador con un formato como xxxxx.yyyyyyyyyyyyyyy. He aprendido que debería usar decimal en lu...

1  Multiplicar, restar y dividir números binarios dan respuestas incorrectas  ( Multiplying subtracting and dividing binary numbers give wrong answers ) 
Estoy haciendo una aplicación de calculadora binaria. No hay problemas de construcción, pero en la aplicación, solo agregar números binarios, dan la respuesta...

701  Cómo convertir decimal a doblarse en C #  ( How to convert decimal to double in c sharp ) 
Quiero usar un Track-Bar para cambiar una opacidad double1 . Este es mi código: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; Cuan...

0  ¿Convertir cadena de inicio con 0 a 2 decimal lugar asp.net?  ( Convert string start with 0 to 2 decimal place asp net ) 
Tengo esta cadena: Dim value as String = "0.11209176170341301" e intenté usar este código para convertir la cadena en decimal con dos lugares: Dim v...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos