Dart:
Arredondamento de números
Como fazer:
Dart fornece métodos nativos em seu tipo fundamental num para operações de arredondamento. Aqui, exploraremos métodos como round(), floor(), ceil(), e como arredondar para um número específico de casas decimais.
Arredondando para o inteiro mais próximo:
var number = 3.56;
print(number.round()); // Saída: 4Arredondando para baixo:
print(number.floor()); // Saída: 3Arredondando para cima:
print(number.ceil()); // Saída: 4Arredondando para um número específico de casas decimais:
Para arredondar para um número específico de casas decimais, podemos usar o método toStringAsFixed(), que retorna uma string, ou usar uma combinação de pow de dart:math para um resultado numérico.
import 'dart:math';
var number = 3.56789;
String roundedString = number.toStringAsFixed(2); // Para fins de exibição
print(roundedString); // Saída: 3.57
double roundedNumber = double.parse(roundedString);
print(roundedNumber); // Saída: 3.57
// Alternativamente, para um resultado numérico:
double roundedToDecimal = (number * pow(10, 2)).round().toDouble() / pow(10, 2);
print(roundedToDecimal); // Saída: 3.57Embora a biblioteca central do Dart cubra a maioria das necessidades de arredondamento de forma eficaz, para operações matemáticas mais complexas ou requisitos precisos de arredondamento, bibliotecas como decimal podem ser úteis. A biblioteca decimal oferece uma maneira fácil de trabalhar com números decimais sem perder precisão, o que é especialmente útil para cálculos financeiros, mas para métodos simples de arredondamento como mostrado, a funcionalidade central do Dart geralmente é suficiente.