Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理小数_Javascript_Html - Fatal编程技术网

Javascript 处理小数

Javascript 处理小数,javascript,html,Javascript,Html,我需要帮助解决这个十进制问题。通过在同一文本框上制作英尺和英寸。 在以英尺(ft)为单位计算一个人的身高时,情况是5.12ft=6ft,5.13是不必要的(不是真的,我只是想以英尺和英寸为单位) 有些人会把它变成两个不同的文本框,分别是英尺和英寸。但我只想尝试一个文本框,它不会达到5.12或在文本框的情况下,将只接受高达.11英寸 任何帮助都将不胜感激 提前感谢。您通常通过分别计算整个部分和小数部分来处理此问题 要找到小数部分(0.12),只需从原始部分(5.12)减去整个部分(5)。当然,乘以

我需要帮助解决这个十进制问题。通过在同一文本框上制作英尺和英寸。 在以英尺(ft)为单位计算一个人的身高时,情况是5.12ft=6ft,5.13是不必要的(不是真的,我只是想以英尺和英寸为单位)

有些人会把它变成两个不同的文本框,分别是英尺和英寸。但我只想尝试一个文本框,它不会达到5.12或在文本框的情况下,将只接受高达.11英寸

任何帮助都将不胜感激


提前感谢。

您通常通过分别计算整个部分和小数部分来处理此问题

要找到小数部分(0.12),只需从原始部分(5.12)减去整个部分(5)。当然,乘以一英尺的英寸数

var height = 5.12;
var feet = Math.floor(height);
var inches = Math.floor( 12.0 * (height-feet) );
我已经把这四舍五入了。如果您想绕到最近的位置,可以执行以下操作:

var inches = Math.round( 12.0 * (height-feet) );
if( inches == 12 ) {
    feet++;
    inches = 0;
}

除了每次输入字符时解析字符串外,我看不到任何解决方法

根据小数点将字符串拆分为英尺和英寸,并且不允许任何长度超过11英寸的字符

您还可以在用户输入完字符串后解析该字符串,并通知她表单是否不正确或不合理

但另一个问题是:你这样做而不是两个下拉列表有什么特别的原因吗?您可以用0到11填充英寸,这很简单。

一种可能是使用我的:


您需要发布一些代码。哦,我可能误解了您的问题。也许你问的是如何做GUI,而不是如何做数学不起作用。您需要乘以10或100,这取决于小数点是>还是<10(或<代码>变量英寸=+(高度+“”).substr((高度+“”).indexOf(‘.)+1)@cWalves是的,我假设从十进制英尺到英尺/英寸的转换,即5.12英尺将是5英尺和1英寸。如果没有帮助,我将删除我的答案。@paddy--很有帮助,你只需要修复
英寸
var:)
$('#i4').iMask({
      type   : 'fixed'
    , mask   : '9\' 99\"'
    , sanity : function( val ){
        val = /([\d ]\' )([\d ])([\d ])\"/.exec( val );

        (val[2]>1) && (val[3]=val[2]) && (val[2]='0');
        (val[2]==1) && (val[3]>1) && (val[3]='1');

        val.shift();
        return val.join('');
    }
})