将 hh:mm:ss.00 向上舍入为 hh:mm:ss

Posted

技术标签:

【中文标题】将 hh:mm:ss.00 向上舍入为 hh:mm:ss【英文标题】:Rounding up hh:mm:ss.00 to hh:mm:ss 【发布时间】:2011-04-01 18:04:25 【问题描述】:

我正在尝试在 OpenOffice Calc 中取整时间 (hh:mm:ss.00),但没有成功。

例如,我试图将以下时间四舍五入为 HH:MM:SS

01:41:32.69 -> 01:41:33
01:45:59.20 -> 01:46:00
01:31:48.62 -> 01:31:49

我尝试了以下快速修复方法

=IF(RIGHT(A1,2)>50,MROUND(A1,1/(24*60*1000)),MROUND(A1,1/(24*60*60)))

无论发生什么情况,IF 语句都会返回 Then_value 而不是 else_value

fyi - IF(测试,然后_值,否则_值)。

有什么想法吗?

【问题讨论】:

【参考方案1】:

试了下一个,效果不错:

=IF(RIGHT(A1;2)>50;MROUND(A1;1/(24*60*1000));MROUND(A1;1/(24*60*60)))

我用分号替换了每个逗号。

【讨论】:

嗯.. 不适合我。 Openoffice Calc (Linux) 正在将所有内容改回逗号。奇怪的。某个地方的错误?我会调查并给予答复。 嘿 Lorenzo,我认为它是“,”还是“;”都没有区别。不过谢谢你的回复。 你是对的,它也适用于逗号。您是否将目标单元格格式化为“时间”?您使用的是哪个版本的 OO?【参考方案2】:

如果真的是 OO Calc 我建议:

=IF(RIGHT(A1;2)*1>50;MROUND(A1;1/(24*60*1000));MROUND(A1;1/(24*60*60)))

像 RIGHT 这样的字符串函数总是返回 Text 格式,并且任何 Text 总是大于每个数字。

【讨论】:

以上是关于将 hh:mm:ss.00 向上舍入为 hh:mm:ss的主要内容,如果未能解决你的问题,请参考以下文章

如何将整数(时间)转换为 HH:MM:SS::00 正在进行 SQL

Math的三个将小数值舍入为整数方法

在字母数字 NSString 中将 FLOATS 向上/向下舍入为 INTS

将 BigDecimal 舍入为 *always* 有两位小数

Math三个函数

js 向上和向下取整