Учитывая, что вы не предоставили код цели- C, люди могут только догадываться, вот один, он может не быть причиной вашей проблемы:
Это то, как вы показываете значение, значение равно то же .
Если на обоих языках вы правильно проанализировали действительное число и сохранили результат в переменной Double
/ double
или NSNumber
объекте затем:
print(doubleVar)
в Swift производит 0.0
NSLog(@"%g", doubleVar)
в Obj- C производит 0
NSLog(@"%f", doubleVar)
в Obj - C производит 0.000000
print(nsNumber)
в Swift производит 0
NSLog(@"%@", nsNumber)
в Obj- C производит 0
Эти различия заключаются только в том, как значение с плавающей запятой форматируется . Нет такого значения с плавающей запятой 0
, отличного от 0.0
(или 4.5
, отличного от 4.500
et c.)
HTH