parseFloat 作为解析函数不允许小数
parseFloat as parse function not allowing decimal
我需要保持我作为浮动的价值。所以我给了我的领域这个解析器:
export const parseDecimal = value => value ? parseFloat(value) : value;
export const formatNumber = value => typeof value === 'number' ? value.toString() : value; // <TextInput> freaks out with string
我在我的领域中这样使用它:
<Field name="decimal" parse={parseDecimal} format={formatNumber} />
我必须使用 formateNumber
,因为我使用的是 react-native 并且 <TextInput>
元素只适用于字符串。
然而,每当我点击 .
来写一个小数时,它就会得到 blocked/removed。有没有反正允许小数但连续parseFloat
呢?
我使用下一个方法:
export const parseDecimal = value => {
return !parseFloat(value) || !Number(value) || value.endsWith('.') ? value : parseFloat(value);
};
以及它的使用方式:
<Field
name={'crop_capacity'}
placeholder={'Урожайность (ц/га)'}
parse={(value) => parseDecimal(value)}
component={InputAdapter}
/>
感谢@Ayush Gupta 上面的评论。
我需要保持我作为浮动的价值。所以我给了我的领域这个解析器:
export const parseDecimal = value => value ? parseFloat(value) : value;
export const formatNumber = value => typeof value === 'number' ? value.toString() : value; // <TextInput> freaks out with string
我在我的领域中这样使用它:
<Field name="decimal" parse={parseDecimal} format={formatNumber} />
我必须使用 formateNumber
,因为我使用的是 react-native 并且 <TextInput>
元素只适用于字符串。
然而,每当我点击 .
来写一个小数时,它就会得到 blocked/removed。有没有反正允许小数但连续parseFloat
呢?
我使用下一个方法:
export const parseDecimal = value => {
return !parseFloat(value) || !Number(value) || value.endsWith('.') ? value : parseFloat(value);
};
以及它的使用方式:
<Field
name={'crop_capacity'}
placeholder={'Урожайность (ц/га)'}
parse={(value) => parseDecimal(value)}
component={InputAdapter}
/>
感谢@Ayush Gupta 上面的评论。