Tenho um valor duplo de 22,368511 e quero arredondá-lo para 2 casas decimais. ou seja, deve retornar 22,37
Como eu posso fazer isso?
iphone
objective-c
cocoa-touch
testndtv
fonte
fonte
Respostas:
Como na maioria dos idiomas, o formato é
você pode ver mais exemplos aqui
Edit : Eu também entendi se você estiver preocupado com a exibição do ponto em casos de 25,00
fonte
setPositiveFormat:
, porquesetFormat:
método não existia (definido apenas para Mac), mas ainda - ótima resposta, me economizou horas de experimentos, então +1 e muito obrigado a vocês :)Você pode usar o código abaixo para formatá-lo com duas casas decimais
Swift 4:
fonte
fonte
fonte
Em Swift 2.0 e Xcode 7.2:
Exemplo:
fonte
Você pode usar a função NSDecimalRound
fonte
Para remover os decimais do seu duplo, dê uma olhada nesta saída
Obj C
O resultado será:
Swift 2.1 e Xcode 7.2.1
O resultado será:
fonte
Eu ia seguir com a resposta de Jason, mas percebi que em Minha versão do Xcode (4.3.3) não poderia fazer isso. então, depois de um pouco de pesquisa, descobri que eles haviam mudado recentemente os métodos de aula e removido todos os antigos. então aqui está como eu tive que fazer:
fonte
Use NSNumber * aNumber = [NSNumber numberWithDouble: number]; em vez de NSNumber * aNumber = [NSNumber numberWithFloat: number];
fonte
Para o Swift, há uma solução simples se você não puder importar Foundation, use round () e / ou não quer uma String (geralmente é o caso quando você está no Playground):
resultado: 31,726
fonte
Utilizo a solução postada por Umberto Raimondi estendendo tipo Double:
fonte
Você poderia fazer isso:
fonte