删除两位小数点后的数字而不在颤动中舍入其值?

Ish*_*dra 6 dart flutter

var num1 = 10.12345678
Run Code Online (Sandbox Code Playgroud)

我应该如何使用 num1 删除两个小数点后的数字而不舍入其值。
我需要输出为10.12

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(
      title: ' Delete digits after two decimal point ',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: MyHome(),
    ));

class MyHome extends StatefulWidget {
  @override
  _MyHomeState createState() => _MyHomeState();
}

class _MyHomeState extends State<MyHome> {
    @override
  Widget build(BuildContext context) {

    var num1 = 10.12345678;
    print(num1); // I need output as 10.12

    return Container();
  }

}
Run Code Online (Sandbox Code Playgroud)

Cop*_*oad 20

如果你想四舍五入这个数字:

var num1 = 10.12345678;
var num2 = double.parse(num1.toStringAsFixed(2)); // num2 = 10.12
Run Code Online (Sandbox Code Playgroud)

如果您不想对数字进行四舍五入:

创建此方法:

var num1 = 10.12345678;
var num2 = double.parse(num1.toStringAsFixed(2)); // num2 = 10.12
Run Code Online (Sandbox Code Playgroud)

用法:

double getNumber(double input, {int precision = 2}) => 
  double.parse('$input'.substring(0, '$input'.indexOf('.') + precision + 1));
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用国际包(https://pub.dartlang.org/packages/intl#-installing-tab-

var num1 = 10.12345678;
var f = new NumberFormat("###.0#", "en_US");
print(f.format(num1));
Run Code Online (Sandbox Code Playgroud)