Javascript 十进制值显示为分数,空格太多

Javascript 十进制值显示为分数,空格太多,javascript,razor-pages,Javascript,Razor Pages,我有以下代码: document.getElementById('numsco').value = ($.trim(data.nscore)); nscore的值为140.25。它显示为: 140 2/8 出于排序目的,它需要显示为: 140 2/8 有没有办法迫使额外的空间消失 replace(“,”)不起作用,我在网上找到的几个正则表达式解决方案也不起作用 这不是上述问题的重复,因为我在这里使用了该代码: document.getElementById('numsco').v

我有以下代码:

    document.getElementById('numsco').value = ($.trim(data.nscore));
nscore的值为140.25。它显示为:

140  2/8
出于排序目的,它需要显示为:

140 2/8
有没有办法迫使额外的空间消失

replace(“,”)不起作用,我在网上找到的几个正则表达式解决方案也不起作用

这不是上述问题的重复,因为我在这里使用了该代码:

document.getElementById('numsco').value = ($.trim(data.nscore));
document.getElementById('numsco').value.replace(/\s/g, "");
alert(document.getElementById('numsco').value);
它返回这个:

问题似乎与使用任何工具显示数据的方式有关

以下是剃须刀代码:

<td hidden="hidden">@Html.EditorFor(model => model.tblMeasurement.num, new { htmlAttributes = new { @class = "form-control", id = "numsco", @readonly = "readonly", tabindex = "58000", Style = "border-color:none" } })</td>
添加

.Replace("  ", " ")
…在ToString()使其正确显示后

我鄙视处理其他程序员的代码。

替换(“,”)将替换所有空格。。有一个空格。您可以用一个空间替换任意数量的空间:

let fraction = "140  2/8"
fraction.replace(/ +/g, ' ') // '140 2/8'
/+/g
是全局匹配一个或多个空格的正则表达式。在replace方法中,这1个(或多个)空格仅被一个空格替换,基本上将空格的数量截断为始终为一。

替换(“,”)将替换每个空格。。有一个空格。您可以用一个空间替换任意数量的空间:

let fraction = "140  2/8"
fraction.replace(/ +/g, ' ') // '140 2/8'

/+/g
是全局匹配一个或多个空格的正则表达式。在replace方法中,这1个(或多个)空格仅被一个空格替换,基本上将空格的数量截断为始终为一个。

从何处获取值?顺便说一句,如果你有
'1/4'
,为什么要
'2/8'
?@NinaScholz我从数据库中得到这个值,它的值一直到上面的代码都是140.25。至于“2/8”,我继承它的时候是这样的,很明显,这是这个州多年来获得鹿角的方式。为了让我们给你一个更好的方法来修复它,你应该让我们了解你是如何得到每一个结果的。这意味着,
data.score
包含什么,您是否使用任何其他函数来获取当前结果?等等。@k3llydev——我围绕此字段的所有代码现在都有问题。您从何处获取值?顺便说一句,如果你有
'1/4'
,为什么要
'2/8'
?@NinaScholz我从数据库中得到这个值,它的值一直到上面的代码都是140.25。至于“2/8”,我继承它的时候是这样的,很明显,这是这个州多年来获得鹿角的方式。为了让我们给你一个更好的方法来修复它,你应该让我们了解你是如何得到每一个结果的。这意味着,
data.score
包含什么,您是否使用任何其他函数来获取当前结果?等等。@k3llydev——我围绕此字段的所有代码现在都有问题。我在原始文本中有两个空格;它在网站上无法正常显示,因为我没有键入一个来添加额外的内容;它只是不能在网站中正确显示,因为我没有键入一个来添加额外的内容。
let fraction = "140  2/8"
fraction.replace(/ +/g, ' ') // '140 2/8'