I agree on your point — base-10 notation is not compatible with a base-2 
infrastructure.  However, that is just exposing the reality of the floating 
point data type.  It still does not answer my question on why we can’t just 
provide a decimal data type.  

I am aware of the NSDecimalNumber class.  But that is a layer on top of the 
core language, and not very performant relatively speaking - at least I would 
presume?  Please correct me if I am wrong.

-T.J.


> On Sep 12, 2016, at 10:26, Jens Alfke <j...@mooseyard.com> wrote:
> 
> 
>> On Sep 12, 2016, at 10:10 AM, Teej . via swift-users <swift-users@swift.org 
>> <mailto:swift-users@swift.org>> wrote:
>> 
>>      …in spite of the CPU’s quirks in handling floating point numbers in a 
>> maddening inaccurate manner.
> 
> Well, in the CPU’s defense, it’s only inaccurate because the puny humans 
> insist on dividing their currency into fractions of 1/10, which has no exact 
> representation in binary. (Apparently this is an ancient tradition 
> commemorating the number of bony outgrowths on certain extremities of their 
> grotesque meat-bodies.) I could — I mean, the computers could — point out 
> that if we divided our currency units into 7 pieces, our precious decimal 
> numbers would quickly become inaccurate too. :)
> 
>>      Is there any particular reason why we do not have a native Decimal data 
>> type for Swift?  
> 
> Cocoa’s Foundation framework has an NSDecimalNumber class that provides 
> decimal numbers and arithmetic. The class docs for that include a note that 
> "The Swift overlay to the Foundation framework provides the Decimal 
> structure, which bridges to the NSDecimalNumber class. The Decimalvalue type 
> offers the same functionality as the NSDecimalNumberreference type, and the 
> two can be used interchangeably in Swift code that interacts with Objective-C 
> APIs."
> 
> The question is whether this has been ported to the in-progress native Swift 
> foundation library yet. I haven’t checked.
> 
> —Jens

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to