Math 如何使用Dart计算此数学?
总方向=1540m 第一公里=10美元 第二公里=8美元 其他(正常)公里=5美元 我如何计算这个逻辑?用户应为第一公里支付10美元,然后为第二公里支付8美元,其他为5美元。Math 如何使用Dart计算此数学?,math,dart,Math,Dart,总方向=1540m 第一公里=10美元 第二公里=8美元 其他(正常)公里=5美元 我如何计算这个逻辑?用户应为第一公里支付10美元,然后为第二公里支付8美元,其他为5美元。 型号。startUpCharge是阵列,存储10美元和8美元 //[totalDistance]以米为单位 双重计算许可证(RideModel模型,双重总距离){ 双倍总价=0; 双标准价格=0; totalPrice=model.normalCharge* ((总距离/1000)-型号、费用、长度); 对于(var i=
型号。startUpCharge
是阵列,存储10美元和8美元
//[totalDistance]以米为单位
双重计算许可证(RideModel模型,双重总距离){
双倍总价=0;
双标准价格=0;
totalPrice=model.normalCharge*
((总距离/1000)-型号、费用、长度);
对于(var i=0;i
1540m逻辑=1000m支付$10,5400M支付$8
@CreativeCreatorMyBeno回答
答案应该是50,但结果是5
问题是:如果我加1米,价格应该是50。第一公里有初始充电。不变
import 'dart:math' as math;
class RideModel{
final List startUpCharge;
final double normalCharge;
RideModel({this.startUpCharge,this.normalCharge});
}
main() {
calculateTripPrice(RideModel(startUpCharge: [50,51],normalCharge: 10),1);
}
double calculateTripPrice(RideModel model, double totalDistance) {
var remainingDistance = totalDistance, price = .0;
// Kilometers with special charge
for (var i = 0; i < model.startUpCharge.length; i++) {
price += model.startUpCharge[i] / 1000 * math.min(1000, remainingDistance);
remainingDistance -= math.min(1000, remainingDistance);
}
// Remaining kilometers
price += model.normalCharge / 1000 * remainingDistance;
remainingDistance = 0;
print(price);
return price;
}
导入'dart:math'作为数学;
类RideModel{
最终费用清单;
最终双倍正常充电;
RideModel({this.startUpCharge,this.normalCharge});
}
main(){
计算许可证(RideModel(启动费用:[50,51],正常费用:10),1);
}
双重计算许可证(RideModel模型,双重总距离){
var剩余距离=总距离,价格=.0;
//特殊收费公里数
对于(var i=0;i
您可以简单地迭代添加价格,然后从距离中减去。基于此,只有在仍有剩余距离且每次使用正确的系数时,才会将其添加到价格中
double CalculateTroprice(RideModel模型,双总距离){
var剩余距离=总距离,价格=.0;
//特殊收费公里数
对于(var i=0;i
记得
将'dart:math'导入为math代码>计算错误。我把你的结果加在我的问题上了。如果你有时间,请帮助我