Dart:
Redondeo de números

Cómo hacerlo:

Dart proporciona métodos nativos en su tipo central num para operaciones de redondeo. Aquí, exploraremos métodos como round(), floor(), ceil(), y cómo redondear a un número específico de decimales.

Redondeando al entero más cercano:

var number = 3.56;
print(number.round()); // Salida: 4

Redondeando hacia abajo:

print(number.floor()); // Salida: 3

Redondeando hacia arriba:

print(number.ceil()); // Salida: 4

Redondeando a un número específico de decimales:

Para redondear a un número específico de decimales, podemos usar el método toStringAsFixed(), que devuelve una cadena, o usar una combinación de pow de dart:math para obtener un resultado numérico.

import 'dart:math';

var number = 3.56789;
String redondeadoString = number.toStringAsFixed(2); // Para propósitos de visualización
print(redondeadoString); // Salida: 3.57

double numeroRedondeado = double.parse(redondeadoString);
print(numeroRedondeado); // Salida: 3.57

// Alternativamente, para un resultado numérico:
double redondeadoADecimal = (number * pow(10, 2)).round().toDouble() / pow(10, 2);
print(redondeadoADecimal); // Salida: 3.57

Aunque la biblioteca central de Dart cubre la mayoría de las necesidades de redondeo de manera efectiva, para operaciones matemáticas más complejas o requisitos de redondeo precisos, bibliotecas como decimal pueden ser útiles. La biblioteca decimal proporciona una forma fácil de trabajar con números decimales sin perder precisión, lo que es especialmente práctico para cálculos financieros, pero para métodos de redondeo simples como se muestra, la funcionalidad central de Dart es generalmente suficiente.