How to limit the number of decimals in Dart?

Asked

Viewed 117 times

0

How do I limit the amount of decimals displayed? How do I set this value 15.592783505154639Kg equals 15.59Kg using Dart?

import 'dart:io';

main() {
  CalculoIMC();
}

CalculoIMC(){

  stdout.write("Digite a sua massa: ");
  var massa = double.parse(stdin.readLineSync());
  stdout.write("Digite a sua altura: ");
  var altura = double.parse(stdin.readLineSync());
  var IMC = massa / (altura * 2);

  if (IMC < 16){
    print("Você está com $IMC\Kg, MUITO ABAIXO DO PESO");
  } else if (IMC > 16 && IMC < 17){
    print("Você está com $IMC\Kg, MAGREZA MODERADA");
  } else if (IMC > 17 && IMC < 18.5){
    print("Você está com $IMC\Kg, MAGREZA LEVE");
  } else if (IMC > 18.5 && IMC < 25){
    print("Você está com $IMC\Kg, SAUDÁVEL");
  } else if (IMC > 25 && IMC < 30){
    print("Você está com $IMC\Kg, SOBREPESO");
  } else if (IMC > 30 && IMC < 35){
    print("Você está com $IMC\Kg, OBESIDADE GRAU I");
  } else if (IMC > 35 && IMC < 40){
    print("Você está com $IMC\Kg, OBESIDADE GRAU II");
  } else if (IMC >= 40){
    print("Você está com $IMC\Kg, OBESIDADE GRAU III");
  }

}

1 answer

3


One of the ways to set the number of decimals is by using the toStringAsFixed, how it converts a decimal value into string (text), in it you should pass the fractionDigits defining how many decimal places.

In the code below I created a new variable to armenzenar the formatted value of IMC and inserted this value in the texts that present the responses to the user.

import 'dart:io';

main() {
  CalculoIMC();
}

CalculoIMC(){

  stdout.write("Digite a sua massa: ");
  var massa = double.parse(stdin.readLineSync());
  stdout.write("Digite a sua altura: ");
  var altura = double.parse(stdin.readLineSync());
  var IMC = massa / (altura * 2);

  var IMCFormatado = IMC.toStringAsFixed(2);
  
  if (IMC < 16){
    print("Você está com $IMCFormatado\Kg, MUITO ABAIXO DO PESO");
  } else if (IMC > 16 && IMC < 17){
    print("Você está com $IMCFormatado\Kg, MAGREZA MODERADA");
  } else if (IMC > 17 && IMC < 18.5){
    print("Você está com $IMCFormatado\Kg, MAGREZA LEVE");
  } else if (IMC > 18.5 && IMC < 25){
    print("Você está com $IMCFormatado\Kg, SAUDÁVEL");
  } else if (IMC > 25 && IMC < 30){
    print("Você está com $IMCFormatado\Kg, SOBREPESO");
  } else if (IMC > 30 && IMC < 35){
    print("Você está com $IMCFormatado\Kg, OBESIDADE GRAU I");
  } else if (IMC > 35 && IMC < 40){
    print("Você está com $IMCFormatado\Kg, OBESIDADE GRAU II");
  } else if (IMC >= 40){
    print("Você está com $IMCFormatado\Kg, OBESIDADE GRAU III");
  }

}
  • 1

    It worked out, see.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.