How to replace all occurrences of a specific digit in a floating-point number with Scala

1 Answer

0 votes
object ReplaceDigitsInReal {
  def replaceAllDigits(num: Double, oldDigit: Char, newDigit: Char): Double = {
    // Format the number to a string with 3 decimal places
    val strNum = f"$num%.3f"

    // Replace all occurrences of oldDigit with newDigit
    val modifiedStr = strNum.map(c => if (c == oldDigit) newDigit else c)

    // Convert the modified string back to Double
    modifiedStr.toDouble
  }

  def main(args: Array[String]): Unit = {
    println(f"${replaceAllDigits(82420.291, '2', '6')}%.3f")
    println(f"${replaceAllDigits(111.11, '1', '5')}%.3f")
  }
}



/*
run:

86460.691
555.550

*/

 



answered 12 hours ago by avibootz

Related questions

...