javascript - 用户键入时,如何在 react-native TextInput 中的每 3 位数字中添加点?
问题描述
我有这样的价格输入:
<Input
keyboardType={"decimal-pad"}
inputStyle={{color: "#EDF5E1"}}
value={this.state.price.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.")}
onChangeText={(newPrice)=>this.setState({price: newPrice.toString().replace(".", ""})}
/>
我的目标是在用户打字时每 3 位数字添加一个点!像这样(12.443.355)这段代码price.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.")}
工作正常,但是当用户修改数字时,它就搞砸了!
请注意,我的问题与JavaScript 不同;如何在三位数字后设置点?,我可以添加点,但是当用户修改它时它会搞砸。
解决方案
我不知道"to" into.toString().replace(".", "")
是什么,但我确定你应该使用to.toString().replace(/\./g, "")
replace (".", "")因为replace默认情况下只替换字符串中的第一次出现。
推荐阅读
- eclipse - 使用 p2 Director 创建目标平台时出现错误:“无法完成安装,因为找不到一个或多个所需项目。”
- swift - 如何从 firebase 异步加载数据并在 UICollectionView 中显示
- algorithm - 如何在scala中的数据框中获取x值作为一对?
- java - 在 JAR 文件和运行时库路径中包含子项目 gradle 构建输出
- c# - 分组
不包含点等的定义 - c++ - 空类的链式继承,还有必要吗?
- python - 为 Cloud Dataflow 创建“环境”
- python - 如果有多个标签,如何使用 tf.GradientTape 计算梯度?
- git - Git 不在 Mac 上 Homebrew 的 PATH 中
- java - 如何使用 JNA 确定 Java 中的 Windows 进程位数?