typescript - 类型'数字'的参数不能分配给'string'类型的参数
问题描述:
我无法弄清楚如何使这个函数不会产生编译器错误。typescript - 类型'数字'的参数不能分配给'string'类型的参数
该函数将在毫秒的持续时间和前置小时/分/秒与0,如果数量少于10
private msToTime(duration:any):string {
var milliseconds:string = String(parseInt((duration%1000)/100))
var seconds:string = String(parseInt((duration/1000)%60))
var minutes:string = String(parseInt((duration/(1000*60))%60))
var hours:string = String(parseInt((duration/(1000*60*60))%24))
hours = (parseInt(hours) < 10) ? "0" + hours : hours;
minutes = (parseInt(minutes) < 10) ? "0" + minutes : minutes;
seconds = (parseInt(seconds) < 10) ? "0" + seconds : seconds;
return hours + ":" + minutes + ":" + seconds;
}
答
试过下面的代码和编译器不会返回任何错误。
private msToTime(duration:any):string {
var milliseconds:string = String((duration%1000)/100)
var seconds:string = String((duration/1000)%60)
var minutes:string = String((duration/(1000*60))%60)
var hours:string = String((duration/(1000*60*60)%24)
hours = (parseInt(hours) < 10) ? "0" + hours : hours;
minutes = (parseInt(minutes) < 10) ? "0" + minutes : minutes;
seconds = (parseInt(seconds) < 10) ? "0" + seconds : seconds;
return hours + ":" + minutes + ":" + seconds;
}
答
你尝试调用parseInt((duration%1000)/100)
,其中(duration%1000)/100
为int了,所以你可以放弃这个方法,并使用
var milliseconds:string = String((duration%1000)/100)
var seconds:string = String((duration/1000)%60)
var minutes:string = String((duration/(1000*60))%60)
var hours:string = String((duration/(1000*60*60))%24)
答
parseInt()
需要一个字符串输入。因为在这里你的目的,使用Math.floor()
,
答
类型的parseInt函数函数参数字符串 这样,你可以这样做: VAR毫秒:字符串=字符串(parseInt函数((持续时间1000%)/ 100)的ToString() );