首页 > 解决方案 > 为浮点数反应输入类型 =“数字”

问题描述

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

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

标签: reactjsfloating-pointhtml-input

解决方案


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

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

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


推荐阅读