Как использовать CFNumberFormatterRoundingMode в Swift - PullRequest
0 голосов
/ 04 июля 2018

Как использовать CFNumberFormatterRoundingMode в Swift?

CFNumberFormatterRoundingMode имеет много case

kCFNumberFormatterRoundCeiling Округление до положительной бесконечности.

kCFNumberFormatterRoundFloor Округление в сторону отрицательной бесконечности.

kCFNumberFormatterRoundDown Округление до нуля.

kCFNumberFormatterRoundUp Округление от нуля.

kCFNumberFormatterRoundHalfEven Округлить до ближайшего целого числа или к четному числу, если равноудалено.

kCFNumberFormatterRoundHalfDown Округление до ближайшего целого числа, или к нулю, если равноудалены.

kCFNumberFormatterRoundHalfUp Округлить до ближайшего целого числа или от нуля, если равноудалены.

I расчетный раунд Decimal с NSDecimalRound(_:_:_:_:). NSDecimalRound(_:_:_:_:) имеет параметр только для NSDecimalNumber.RoundingMode. NSDecimalNumber.RoundingMode имеет несколько case.

case plain Округление до ближайшего возможного возвращаемого значения; когда поймали на полпути между двумя положительными числами, округлить вверх; когда пойман между два отрицательных числа, округленные вниз.

case down Округление возвращаемых значений вниз.

case up Округление возвращаемых значений up.

дело банкиров Округлить до максимально возможного возвращаемого значения; когда на полпути между двумя вариантами, вернуть возможность, последняя цифра которой даже.

Могу ли я использовать CFNumberFormatterRoundingMode в Swift? Есть ли альтернатива NSDecimalRound(_:_:_:_:)?

Link

Ответы [ 2 ]

0 голосов
/ 04 июля 2018
import Foundation

let f = NumberFormatter()
f.numberStyle = .decimal
f.maximumFractionDigits = 2
f.roundingMode = .down

f.string(from: Decimal(0.111) as NSNumber)
f.string(from: Decimal(-0.111) as NSNumber)

f.string(from: Decimal(0.116) as NSNumber)
f.string(from: Decimal(-0.116) as NSNumber)
0 голосов
/ 04 июля 2018

CFNumberFormatterRoundingMode предназначен для использования с CFNumberFormatter.

Было бы удобнее использовать NumberFormatter и установить его свойство roundingMode, которое имеет те же параметры.

Вы используете средство форматирования чисел для преобразования числа в строку (или наоборот), используя определенный numberStyle (например, десятичное число, валюта, проценты и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...