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

1 Answer

0 votes
using System;
using System.Globalization;

class Program
{
    static double ReplaceAllDigits(double num, char oldDigit, char newDigit) {
        // Convert number to string with 3 decimal places using invariant culture
        string strNum = num.ToString("F3", CultureInfo.InvariantCulture);

        // Replace all occurrences of oldDigit with newDigit
        string modifiedStr = strNum.Replace(oldDigit, newDigit);

        // Convert the modified string back to double
        return double.Parse(modifiedStr, CultureInfo.InvariantCulture);
    }

    static void Main()
    {
        Console.WriteLine(ReplaceAllDigits(82420.291, '2', '7').ToString("F3", CultureInfo.InvariantCulture));
        Console.WriteLine(ReplaceAllDigits(111.11, '1', '5').ToString("F3", CultureInfo.InvariantCulture));
    }
}


/*
run:

87470.791
555.550

*/

 



answered 16 hours ago by avibootz

Related questions

...