Swift-преобразование в абсолютное значение



есть ли способ получить абсолютное значение из целого числа?

например



-8  
to
8


Я уже пытался использовать UInt () предполагая, что он преобразует Int в беззнаковое значение, но это не сработало.

516   3  

3 ответов:

стандартный abs функция отлично работает здесь

var c = -8
println(abs(c))
// 8

в соответствии с вашими потребностями, с Swift 4, Вы можете использовать один из двух следующих способов для решения вашей проблемы (работает также для других числовых переменных, таких как CGFloat, Double и т. д.):


#1. Получить абсолютное значение Int С magnitude свойства

С Swift 4, Int есть magnitude собственность. magnitude есть следующее объявление:

var magnitude: UInt { get }

для любого числового значения x,x.magnitude is абсолютное значение x.

следующий фрагмент кода показывает, как использовать magnitude собственность для того, чтобы получить абсолютное значение Int например:

let value = -5
print(value.magnitude) // prints: 5

#2. Получить абсолютное значение Int С abs(_:) метод

Swift 4 имеет глобальную числовую функцию под названием abs(_:) метод. abs(_:) есть следующее объявление:

func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric

возвращает абсолютное значение заданное число.

следующий фрагмент кода показывает, как использовать abs(_:) глобальная функция для того, чтобы получить абсолютное значение Int например:

let value = -5
print(abs(value)) // prints: 5

Если вы хотите получить абсолютное значение из double или Int, используйте fabs func:

var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6

Comments

    Ничего не найдено.