众所周知,我们可以在widget="float_time"
的帮助下使用浮点字段。
现在,我的问题是如何计算/转换此float_time值为浮点值。
实施例
我在表单中给出了值 00:10 ,当我查看数据库时,它显示 0.16666667 。
提前致谢。
答案 0 :(得分:4)
这是js中用于以float_time格式显示值的代码:
case 'float_time':
var pattern = '%02d:%02d';
if (value < 0) {
value = Math.abs(value);
pattern = '-' + pattern;
}
var hour = Math.floor(value);
var min = Math.round((value % 1) * 60);
if (min == 60){
min = 0;
hour = hour + 1;
}
return _.str.sprintf(pattern, hour, min);
所以在你的情况下,在db中它存储为0.16666667。所以min将是var min = Math.round((0.16666667 % 1) * 60);
,当舍入时将为10 ...
答案 1 :(得分:-1)
def float_time_convert(float_val):
factor = float_val < 0 and -1 or 1
val = abs(float_val)
return (factor * int(math.floor(val)), "{:0>2d}".format(int(round((val % 1) * 60))))
打印&#34;%i:%s&#34; %(float_time_convert(3.61))