I've locally implemented some arbitrary-length number types, BigInteger and BigDecimal, which conform to NSNumber, and are based on Java's BigInteger and BigDecimal.
However I seem to be running into problems using NumberFormatter on these very large numbers.
It always rounds big values to infinity.
For example when I create a very large BigDecimal, for example,
Also, NSNumber is not a protocol, but a Swift class in Foundation. On Darwin platforms, Swift NSNumber is interoperable with the Objective-C Foundation NSNumber. And, it is a class that only understands native integer and floating point types as noted above.
Your Formatter probably needs to be hand-rolled. Might want to inherit from the Formatter class in Foundation.