我有一个javascript函数,它接受不同长度的字符串,其中包含的数字可能是也可能不是以零开头或以小数点后的零结束。
'01234'正在更改为1234号
'123.40'被改为123.4
我需要保留实际的字符串值
function muteChannel(channelId)
{
alert("channelId:" + channelId);
return false;
}
答案 0 :(得分:1)
听起来channelId是一个数字而不是一个字符串。如果您尝试:
alert("12345.0"); // a string
你会得到12345.0,而如果你试试:
alert(12345.0); // a number
它将删除尾随零。如果是这种情况,那么看起来channelId在你将它传递给这个函数时最后没有零。如果您确定此值在代码中的某个位置是一个字符串,您可能能够找到它被转换的位置并修复它,但是如果不了解更多信息就很难说。
希望有所帮助!
答案 1 :(得分:1)
我最初将我的字符串值作为数字传递。我的代码最初看起来像这样
<p:commandLink
id="MuteButton"
type="button"
value="Unmute"
process="@this"
update="@form"
onclick="muteChannel(#{channel.channelId});"
rendered="#{channel.muted}"
disabled="#{channel.status eq 'Hangup' or
channel.status eq 'Holding' or
channel.status eq 'Unmuting' or
channel.status eq 'Dropping'}"/>
但现在我在#{channel.channelId}周围添加单引号以将它们保留为字符串
<p:commandLink
id="MuteButton"
type="button"
value="Unmute"
process="@this"
update="@form"
onclick="muteChannel('#{channel.channelId}');"
rendered="#{channel.muted}"
disabled="#{channel.status eq 'Hangup' or
channel.status eq 'Holding' or
channel.status eq 'Unmuting' or
channel.status eq 'Dropping'}"/>
答案 2 :(得分:0)
您可以使用toFixed并告诉它要在代码段中显示多少个小数位:
var x = 12345.10
var y = 12345.10000
console.log(x.toFixed(2))
console.log(y.toFixed(5))
&#13;