Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 21/08/2007 15:43 hs
Por exemplo,tenho o numero 145.236, quero arredondar para duas casas, o vb ja manda para 145.24... + eu gostaria que ficasse no 145.23, eu queria controlar até quando ele arredonda para baixo, e depois de quanto para cima. Em clipper tinha uma função assim, por exemplo, quero que até .6 arredonde para baixo, e de .7 para cima, para o proximo numero positivo. Em vb tem algo parecido? Obrigado.
|
|
|
|
FAV
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 21/08/2007 16:03 hs
Donkey, ele sempre será 3 casas para 2? Se sim, eu pegaria o ultimo digito e faria um IF. Depois disso no penultimo numero que seria a segunda casa decimal, se o ultimo fosse maior ou igual a 7 somaria 0,01 senão manteria o atual. Um abraço
|
|
|
|
Postada em 21/08/2007 17:20 hs
Para truncar use uma função asim: Private Function f_trucate(ByVal numero As Double, ByVal fator As Byte) As Double f_trucate = Fix(numero * 10 ^ fator) / 10 ^ fator End Function para chamá-la: msgbox f_trucate(1453.259, 2) No exemplo acima quero que retorne 1453,25 então são 2 casas decimais logo fator = 2. Caso queira que trunque em 1453.2 então passe o fator = 1 e assim por diante falows! :)
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 22/08/2007 13:25 hs
Fav... fazer uma rotina para agir como eu queria até da para fazer, + eu queria mesmo usar uma função própria do vb, caso exista. Ghost, nem é muito o caso de truncar, por exempo, 123.47 ficaria em 123.4, agora ja 123.48 ja iria para 123.5, assim truncar apenas não resolveria. Mesmo assim obrigado a todos.
|
|
|
|
Postada em 22/08/2007 16:04 hs
Se for seguir o seu último exemplo é uma coisa muito específica... "123.47 ficaria em 123.4, agora ja 123.48 ja iria para 123.5" no caso eu só vejo customizar um código mesmo ou baixar uma classe/dll para o seu projeto que te atenda... falows! :)
|
|
|