Swift-絶対値に変換


回答:


413

標準abs()関数はここでうまく機能します:

let c = -8
print(abs(c))
// 8

いい情報マン!ありがとう!10分後に回答を受け入れます:)
Niko Adrianus Yuwono 14年

abs()を使用するには何をインポートする必要がありますか?
ジャロッドスミス

3
@JarrodSmith:Foundationをインポート
Adrian

3
DarwinまたはFoundationをインポートできます
YYamil

ダーウィンは財団の一部ではありませんか?
Marin

38

Swift 5では、整数を絶対値に変換するために、次の2つの方法のいずれかを使用できます。


#1。Intfrom magnitudeプロパティの絶対値を取得する

Intmagnitudeプロパティがあります。magnitude次の宣言があります:

var magnitude: UInt { get }

任意の数値の場合xx.magnitudeはの絶対値ですx

次のコードスニペットはmagnitudeIntインスタンスの絶対値を取得するためにプロパティを使用する方法を示しています。

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

#2。Intfrom abs(_:)メソッドの絶対値を取得する

Swiftには、abs(_:)メソッドと呼ばれるグローバル数値関数があります。abs(_:)次の宣言があります:

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

指定された数値の絶対値を返します。

次のコードスニペットはabs(_:)Intインスタンスの絶対値を取得するためにグローバル関数を使用する方法を示しています。

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

print(abs(Int.min))は機能しません。Swift 3の解決策はありますか?プロジェクトはまだ更新していません。
bibcy 2018

3
Intスタンスで絶対的な価値を得る」
LinusGeffarth 2018年

1
@bibscy が機能しないためにオーバーフローエラーが発生する理由を理解するには、Appleの説明を参照してくださいabs(Int8.min)
Imanouプチ

7

数値を強制的に変更したい場合、または正のままにしたい場合。
ここに方法があります:

abs() for int
fabs() for double
fabsf() for float

fabs

2

doubleまたはIntから絶対値を取得するfabs場合は、funcを使用します。

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

はい、あなたは正しいですが、私の焦点はにありましたfabs、すみません
Hamed
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.