我需要把十进制转换成某种特定格式的字符串
1.0 to "+01:00" -4.0 to "-04:00"
我已经使用了.toString(),但这只是转换为字符串预期如何将其转换为上述格式。请建议
.toString()
vecaoik11#
您可以使用padStart和toFixed创建一个自定义函数来将数字转换为所需的格式。
padStart
toFixed
const format = num => { const sign = num > 0 ? '+' : '-'; const [first, second] = num.toFixed(2).split('.'); return `${sign}${first.replace('-','').padStart(2, '0')}:${second}` } console.log(format(1.0)) // "+01:00" console.log(format(-4.0)) // "-04:00"
uajslkp62#
const convert = (val) => { const plusMinus = val > 0 ? '+' : '-'; const decimal = val.toFixed(2).replace(/\./, ':').replace(/^-/, ''); const prefixedZero = val < 10 && val > -10 ? '0': ''; return `${plusMinus}${prefixedZero}${decimal}` } console.log(convert(1.0)) console.log(convert(-4)) console.log(convert(0)) console.log(convert(-10)) console.log(convert(10))
2条答案
按热度按时间vecaoik11#
您可以使用
padStart
和toFixed
创建一个自定义函数来将数字转换为所需的格式。uajslkp62#