为浮点数反应输入类型 =“数字”

Posted

技术标签:

【中文标题】为浮点数反应输入类型 =“数字”【英文标题】:React input type="number" for floats 【发布时间】:2020-01-31 00:50:09 【问题描述】:

我想要一个 type="number" 的输入字段。 (这样在手机上就会出现数字键盘)。问题是,我所有的值都以美分为单位:1EUR = 100 美分,我想将逗号显示为小数点分隔符(德语格式),所以 onChange 会将值乘以 100,当呈现值时,它是除以 100。 但是当我输入“5”时。输入下一个数字后,“。”会迷路的。 “,”也是如此。

我找不到任何已经实现的组件,它通过使用输入类型=“数字”而不是类型=“文本”来执行此操作。 那么有没有人知道这样一个库或实现它的方法,不包括两个输入,一个用于美分,一个用于欧元?

【问题讨论】:

【参考方案1】:

我认为数字输入类型可以处理德语逗号系统。所以可能不需要手动将 2,5 输入更改为 2.5。 如果你在数字输入上使用这个 changeHandler

const changeHandler = e => 
    const val = e.target.value
    console.log(2 * val)
    setNumber(val)
  

当您在输入中看到逗号时,val 变量将是通常的浮点数。

【讨论】:

以上是关于为浮点数反应输入类型 =“数字”的主要内容,如果未能解决你的问题,请参考以下文章

将列类型“对象”转换为浮点数

JS判断是不是为数字,是不是为整数,是不是为浮点数

如何在lisp中以指定格式将数字打印为浮点数?

使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数

Android - 如何正确地将字符串解析为浮点数(价格数字格式:整数、小数或两者兼有)

如何将表示为字符串的数字转换为浮点数