将数据从英制 (fl oz) 转换为公制 (mL),然后再转换回来
Converting data from imperial (fl oz) to metric (mL) and back again
将数据库中的所有内容存储为英制 (fl.oz),然后转换为公制 (mL)(如果用户选择公制作为他们的首选测量系统)。
计算即时完成并在 UI 上更新。
我的问题是因为我将数据存储为盎司。如果用户正在使用 ml。当显示的总量明显减少时,添加到他们的总数中。例如。 500mL 转换为 16oz,然后转换回 mL 为 473mL。
这是我的换算公式:
_toMetric 在值作为 fl 来自数据库时使用。 oz 和 _toImperial 用于将用户输入的金额转换为 oz。在存储数据库之前。
double _toMetric(int value) {
return (value * 29.574);
}
double _toImperial(int value) {
return (value / 29.574);
}
我该如何解决这个问题?
这是因为您插入的是 int 而不是 double。
500ml = 16.9oz
您在函数中插入了 16oz,它等于 473。
数字应该是双精度数而不是整数。
将数据库中的所有内容存储为英制 (fl.oz),然后转换为公制 (mL)(如果用户选择公制作为他们的首选测量系统)。
计算即时完成并在 UI 上更新。
我的问题是因为我将数据存储为盎司。如果用户正在使用 ml。当显示的总量明显减少时,添加到他们的总数中。例如。 500mL 转换为 16oz,然后转换回 mL 为 473mL。
这是我的换算公式: _toMetric 在值作为 fl 来自数据库时使用。 oz 和 _toImperial 用于将用户输入的金额转换为 oz。在存储数据库之前。
double _toMetric(int value) {
return (value * 29.574);
}
double _toImperial(int value) {
return (value / 29.574);
}
我该如何解决这个问题?
这是因为您插入的是 int 而不是 double。
500ml = 16.9oz
您在函数中插入了 16oz,它等于 473。
数字应该是双精度数而不是整数。