我有以下内容,
int intMilliseconds = rawSplit % 1000;
返回我输入的时间的剩余毫秒数,但是在极少数情况下它返回三个数字(###)而不是通常的两个数字(##)。
我怎么能让它总是返回两个数字?(# #)
听起来您想要做的是将毫秒缩短到百分之一秒。你可以这样做:
int hundredths= (int)( (float)intMilliseconds / 10.0f ) * 10;
在这里,例如,934或939毫秒将显示为百分之93秒。
顺便说一下,你的措辞有点奇怪-真的没有办法将毫秒数(从0到999)"格式化"为两位数。因为你的格式是xx:xx:xx
,我假设你的意思是你想显示百分之一秒
当rawSplit
是介于(0,099)和(0,999)之间的数字时,它将是一个三位数。模算子%
在除以右操作数后得到余数。如果执行1064 % 1000
,结果为64
。如果执行1548 % 1000
,结果为548
。
你可以改变你得到的信息——对100取模,例如:1064 % 100 -> 64
和1548 % 100 -> 48
——但是你不能让这个表达式一直"返回"两位数字。
摘自我下面的评论:
我想你可以用"厘秒";只需将毫秒数除以10,然后去掉小数部分。