Replace dot with comma Input while typing decimal points

I am using react hooks, and I want to achieve the following, replacing a dot with a comma while a using is typing in the Input text box. Below is my code :

const formatDecimal = (value: number) => Number(value).toLocaleString('de-DE');

  const onChange = useCallback(
    event => {
      const { value } =;
      // @ts-ignore
      const newValue = formatDecimal(value)
      setFieldValue(name, newValue);
    [setFieldValue, name],

It doesn’t work as expected, it only doesn’t show the comma, whenever I type the dot.


You can use regex and String#replace function

const replaceDotWithComma = str => {
  return str.replace(/./g, ',');


This is for the input field, you can do the reverse before saving the value as float.