fix: 修复工时显示浮点数精度问题
This commit is contained in:
parent
d66b75beea
commit
3f989e49db
@ -1180,14 +1180,21 @@ const formatWorkHours = (hours: number): string => {
|
||||
|
||||
const WORK_HOURS_PER_DAY = 8
|
||||
const days = Math.floor(hours / WORK_HOURS_PER_DAY)
|
||||
const remainingHours = hours % WORK_HOURS_PER_DAY
|
||||
// 处理浮点数精度问题,保留两位小数
|
||||
let remainingHours = Math.round((hours % WORK_HOURS_PER_DAY) * 100) / 100
|
||||
|
||||
// 格式化小时显示
|
||||
const formatHours = (h: number): string => {
|
||||
if (Number.isInteger(h)) return `${h}小时`
|
||||
return `${h.toFixed(2).replace(/\.?0+$/, '')}小时`
|
||||
}
|
||||
|
||||
if (days === 0) {
|
||||
return `${remainingHours}小时`
|
||||
return formatHours(remainingHours)
|
||||
} else if (remainingHours === 0) {
|
||||
return `${days}天`
|
||||
} else {
|
||||
return `${days}天${remainingHours}小时`
|
||||
return `${days}天${formatHours(remainingHours)}`
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user