¿Cómo puedo verificar si un número flotante contiene decimales como 2.10, 2.45, 12382.66 y no 2.00, 12382.00. Quiero saber si el número es "redondo" o no. ¿Cómo puedo hacer eso programáticamente?Comprueba si un número flotante contiene decimales o no
Respuesta
Si se preocupan solamente cerca de dos decimales, obtener el resto calculando bool hasDecimals = (((int)(round(x*100))) % 100) != 0;
En caso genérico obtener una parte fraccionaria como se describe en this topic y lo comparan con 0.
Esto funcionó muy bien para mí. Estoy usando Objective-C por cierto. Siempre que sepa cuántos decimales le importa evaluar, esto es simple y hace el trabajo. Y puede modificarlo multiplicando 10 por el poder de la cantidad de puntos decimales que le interesan, para reemplazar las ocurrencias de "100" en la muestra anterior, para hacerlo aún más flexible. – idStar
Usted puede hacer esto:
float num = 23.345f;
int intpart = (int)num;
float decpart = num - intpart;
if(decpart == 0.0f)
{
//Contains no decimals
}
else
{
//Number contains decimals
}
Utilizando el módulo funcionará:
if(num % 1 != 0) do something! // eg. 23.5 % 1 = 0.5
Excelente respuesta, pero esto no funcionará en [PHP] (http://php.net/manual/en/language.operators.arithmetic.php): "Los operandos del módulo se convierten en enteros (eliminando la parte decimal) antes de procesar ". – Daan
puedo utilizar esta función para c c objetivo
BOOL CGFloatHasDecimals(float f) {
return (f-(int)f != 0);
}
import java.lang.Math;
public class Main {
public static void main(String arg[]){
convert(50.0f);
convert(13.59f);
}
private static void convert(float mFloat){
if(mFloat - (int)mFloat != 0)
System.out.println(mFloat);
else
System.out.println((int)mFloat);
}
}
- 1. ¿Comprueba si IIS está instalado o no?
- 2. Detectar si una matriz contiene un número entero o doble
- 3. Comprueba si una lista principal contiene un objeto
- 4. detectar si NSString es un número flotante
- 5. comprueba si div contiene un elemento en jQuery
- 6. Java - ¿Cómo comprobar si una división es un número entero o un número flotante?
- 7. Formatear un flotante con dos decimales
- 8. Formateo de un flotante con dos decimales
- 9. Comprueba si un número es racional en Python
- 10. Comprobar variable doble si contiene un entero, y punto flotante no
- 11. JavaScript que muestra un flotante a 2 lugares decimales
- 12. Comprueba si hash tiene una clave que contiene texto
- 13. Comprueba si un archivo es real o un enlace simbólico
- 14. ¿Es esta una comparación flotante válida que representa un número determinado de lugares decimales?
- 15. flotante de análisis con dos lugares decimales
- 16. cómo se comprueba si UIWebView está vacío o no
- 17. Comprueba si el búfer de Emacs actual contiene una cadena
- 18. C# comprueba si ha pasado o no argumentos
- 19. Comprueba si existe una fila o no en postgresql
- 20. Haskell: leer un número (entero o punto flotante)
- 21. Actionscript 3: comprueba si la cadena contiene otra cadena
- 22. Comprobar si una Lista ya contiene un elemento o no?
- 23. Comprueba si jQuery o mooTools están cargados
- 24. Cómo comprobar si un int var contiene un número específico
- 25. Comprueba si un BSTR está vacío
- 26. ¿Comprueba si un archivo es binario o ASCII con Node.js?
- 27. Comprueba si un enlace es interno o externo
- 28. Cómo truncar un número de punto flotante después de un cierto número de posiciones decimales (sin redondeo)?
- 29. comprueba si un nombre parece "humano"?
- 30. dividir el flotante en números enteros y decimales en Ruby
mirarlos? Si quieres una solución programática, entonces danos más información. – skaffman
(y el idioma en el que está trabajando) – dkarp