askDouble static method

Future<double> askDouble(
  1. String question, {
  2. required double defaultValue,
  3. double? min,
  4. double? max,
})

Ask for a double/decimal input

Implementation

static Future<double> askDouble(
  String question, {
  required double defaultValue,
  double? min,
  double? max,
}) async {
  if (PromptEnvironment.useSimplePrompts) {
    final String result = _askSimpleString(
      question,
      defaultValue: defaultValue.toString(),
      validator: (String value) =>
          _validateDouble(value, min: min, max: max) == null,
      validationMessage: 'Please enter a valid number',
    );
    return double.parse(result);
  }

  try {
    final String result = Input(
      prompt: question,
      defaultValue: defaultValue.toString(),
      validator: (String value) {
        final String? error = _validateDouble(value, min: min, max: max);
        if (error != null) {
          throw ValidationError(error);
        }
        return true;
      },
    ).interact();
    return double.parse(result);
  } on Object {
    return defaultValue;
  }
}