NSLocalizedString

NSLocalizedString takes a key and a comment and returns a localized value of a string. You can pass Unicode characters to NSLocalizedString and have your special character displayed inside your app.

Example

To display a fraction, you can use a numerator Unicode, fraction slash Unicode, and a denominator Unicode.

The Unicode for numerators is \u{207x}. The x is a number in this set {0,4,5,6,7,8,9}. A fraction slash is \u{2044}. Lastly, the Unicode for denominators is \u{208x}. Unlike the numerators, the x is a number between 1 and 9. You can create a string variable that holds the fraction 4/5 in SwiftUI with the code below:

@State var num = "
	\(NSLocalizedString("\u{2074}", comment: "Numerators - 4"))
	\(NSLocalizedString("\u{2044}", comment: "fraction slash"))
	\(NSLocalizedString("\u{2085}", comment: "Denominator - 5"))
	"

There are existing Unicode characters for common fractions such as \u{00BD} for 1/2. You can use the function below to return the common fractions. Pass a double value to the function and it will return the Unicode character equivalent.

func fractionToString (fraction: Double) -> String {
	         switch fraction {
	         case 0.125..<0.126:
	             return NSLocalizedString("\u{215B}", comment: "1/8")
	         case 0.25..<0.26:
	             return NSLocalizedString("\u{00BC}", comment: "1/4")
	         case 0.33..<0.34:
	             return NSLocalizedString("\u{2153}", comment: "1/3")
	         case 0.5..<0.6:
	             return NSLocalizedString("\u{00BD}", comment: "1/2")
	         case 0.66..<0.67:
	             return NSLocalizedString("\u{2154}", comment: "2/3")
	         case 0.75..<0.76:
	             return NSLocalizedString("\u{00BE}", comment: "3/4")
	         default:
	            return "\(fraction)"
	        }
	     }

#swiftui #swift #ios-app-developers #programming #ios-development

How To Display Fractions and Special Characters in Swift and SwiftUI
6.45 GEEK