En C# doble escriba cómo puedo establecer el número de dígitos después del punto, solo necesito 4. gracias.Establezca el número de dígitos después del punto en doble
Respuesta
No puede. Binary floating point no funciona así. Puede formato un doble de esa manera (por ejemplo, usando "f4"
como cadena de formato), pero si se trata de valores que tienen un número natural de decimal lugares, entonces probablemente debería estar usando decimal
en su lugar. ¿Podría darnos más información sobre lo que representan sus valores?
estoy haciendo una igualdad entre 2 puntos de valores x e Hay 5.0000 y 4,999999996 y lo necesito para ser cierto –
@Bass: si solo está haciendo una prueba de igualdad, entonces la respuesta de nobugz es probablemente el camino correcto. Sin embargo, aún consideraría si desea usar decimal: depende del tipo de valores que tenga. –
No puede establecer el número de dígitos después del punto en el doble directamente.
Puede cambiar la representación de cadena del doble utilizando una cadena de formato.
Un ejemplo sería:
string.Format("{0:0.####}", number);
O como señala Jon Skeet a cabo:
number.ToString("f4")
utilizar para comparar dos números de coma flotante de 4 dígitos en la fracción:
if (Math.Abs(a - b) < 1E-4) {
// close enough
//...
}
Si quiere estar absolutamente seguro de que son iguales, debería ser Double.epsilon en lugar de 1e-4. Si quiere decir que son "lo suficientemente cerca" iguales, entonces su código está bien – zebrabox
Double.Epsilon no puede funcionar tal como está, es demasiado pequeño. Un epsilon adecuado es algo así como un * 1E-15, pero tiene que incrementarse para los errores acumulados por cada operación de FP. –
- 1. Parámetro doble con 2 dígitos después del punto en strings.xml?
- 2. LISP - dígitos después del punto decimal
- 3. Precisión del doble después del punto decimal
- 4. Punto flotante con 2 dígitos después del punto
- 5. Encontrar el número de posiciones después del punto de un doble
- 6. desea mostrar exactamente 2 dígitos después del punto
- 7. ¿Cómo devolver el número de flotante con 2 dígitos después del punto decimal?
- 8. Imprimir float PHP con 3 dígitos después del punto decimal?
- 9. Eliminación de caracteres después del punto decimal para un doble
- 10. Dividir el doble en dos int, un int antes del punto decimal y uno después de
- 11. Formato tipo doble con el número mínimo de dígitos decimales
- 12. ¿Cómo usar el filtro de flotador para mostrar solo dos dígitos después del punto decimal?
- 13. iPhone: Cuantos dígitos debería haber después de un punto flotante
- 14. Número de dígitos significativos para un tipo de punto flotante
- 15. Cómo poner un punto después de tres dígitos de un número
- 16. ¿Cuál es el siguiente número de punto flotante normalizado después de (antes) un número de punto flotante normalizado f?
- 17. Eclipse haga doble clic en el número de línea para el punto de interrupción
- 18. Salida de flujo en C++ con 3 dígitos después del punto decimal. ¿Cómo?
- 19. ¿Cómo extraer dígitos fraccionarios de doble/BigDecimal
- 20. ¿Tiene JavaScript precisión de número de punto flotante doble?
- 21. ayuda con Regex - necesita hasta 3 números después del punto (.)
- 22. En Perl, ¿cómo puedo limitar el número de lugares después del punto decimal pero no tener ceros finales?
- 23. Cómo recortar ceros después del punto decimal
- 24. Establezca el número de puerto al usar FtpWebRequest en C#
- 25. ¿Eliminar dígitos después de dos puntos decimales, no el número redondo en javascript?
- 26. Cómo modificar std :: stod (cadena a doble) para separador decimal y número de dígitos
- 27. Formato del número de punto flotante
- 28. Sobrecarga de Java: Número, Número; int, Doble
- 29. ¿Cómo redondear el número decimal a 2 dígitos en iphone?
- 30. ¿Cómo usar el número de 12 dígitos en C?
inputValue = Math.Round (inputValue, 4); Adaptado de http://stackoverflow.com/questions/2357855/round-double-in-two-decimal-places-in-c – jade290