下面的脚本计算时间差的十进制数,但我得到了一个舍入误差,所以我猜这是因为我在最后的转换非常糟糕。
问题:有些东西告诉我,表达式可以简化,但在这种特定情况下,当我有int、模数和除法时,数学规则是什么?
问题:有些东西告诉我,表达式可以简化,但在这种特定情况下,当我有int、模数和除法时,数学规则是什么?
#!/usr/bin/perl
print f("9:00", "16:45");
sub f {
my $t1 = shift @_;
my $t2 = shift @_;
my $m1 = $1*60+$2 if $t1 =~ m/(\d\d?):(\d\d?)/;
my $m2 = $1*60+$2 if $t2 =~ m/(\d\d?):(\d\d?)/;
my $h = int(($m2-$m1)/60);
return $h + ($h*60+$m2-$m1)%60/60;
}