将 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
在字母数字 NSString 中将 FLOATS 向上/向下舍入为 INTS