将十进制转换为小时和分钟

时间:2014-08-28 10:20:37

标签: vba report reporting

我在2列中记录了项目工作的小时数 - 小时和分钟。

可能是 -

1.00
1.15
1.30
1.45

当我有时间日志时 -

6.30
1.30
1.00
1.45

总数是10.75,而我需要的总数是10.45。

到目前为止,我有VB表达式 -

=Sum(Fields!Hours.Value, "DataSet1") + (Sum(Fields!Minutes.Value, "DataSet1") / 60)

这将在RDLC报告中显示。

我出错的任何想法?

1 个答案:

答案 0 :(得分:0)

您使用小数部分作为分钟,但是一个整体有100个部分,而不是60个,因为一小时内有60分钟。

要对将小时。分钟格式转换为小时数所需的数字进行计算,例如1.30将转换1.5小时。

可以使用这样的公式(其中time是要转换的值)来完成:

Int(time) + 100.0 * (time Mod 1.0) / 60.0

计算完成后,如果您希望以小时格式显示结果,则需要将其转换回来:

Int(time) + Round(60.0 * (time Mod 1.0) / 100.0, 2)