Redondear centena
- leandro
- Posts: 1728
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 24 times
- Been thanked: 4 times
- Contact:
Redondear centena
Hola buenas tardes ?
De nuevo por aquí molestando, surge la necesidad de poder hacer el redondeo a la centena, con el fin de evitar problemas con el cambio cuando pagan en efectivo.
E intentando con la función round(), pero esta parece que aplica solo para los decimales.
Ejemplo:
Total a pagar $1.257
Debe quedar $1.200
Total a pagar $5.856
Debe quedar $5.800
De antemano gracias
De nuevo por aquí molestando, surge la necesidad de poder hacer el redondeo a la centena, con el fin de evitar problemas con el cambio cuando pagan en efectivo.
E intentando con la función round(), pero esta parece que aplica solo para los decimales.
Ejemplo:
Total a pagar $1.257
Debe quedar $1.200
Total a pagar $5.856
Debe quedar $5.800
De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- leandro
- Posts: 1728
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 24 times
- Been thanked: 4 times
- Contact:
Re: Redondear centena
Ya encontré la solución jejejejeje
Code: Select all | Expand
#include "fivewin.ch"
FUNCTION Main()
Local nRedondear := 1859
Local nRodondeado := round(nRedondear,-2)
msginfo(nRodondeado)
Return nil
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
Re: Redondear centena
Code: Select all | Expand
? Val( Str( 2525 / 100, 6, 0 ) ) * 100
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- leandro
- Posts: 1728
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 24 times
- Been thanked: 4 times
- Contact:
Re: Redondear centena
Cristobal, muchas gracias por responder.
Me surge una idea? podemos adaptar esa funciono que hiciste para que aproxime a 50 y no a 100.
Ejemplo:
$4785 -> $4800
$4727 -> $4750
$4611 -> $4600
$4673 -> $4650
De antemano gracias
Me surge una idea? podemos adaptar esa funciono que hiciste para que aproxime a 50 y no a 100.
Ejemplo:
$4785 -> $4800
$4727 -> $4750
$4611 -> $4600
$4673 -> $4650
De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
Re: Redondear centena
Hola, puedes probar usando el resto de la división.
No lo he probado, pero creo que puede funcionar.
Un saludo.
Code: Select all | Expand
nAproximar := 50
nRedondear := 4785
nResto := nRedondear % nAproximar
? nRedondear - IF ( nResto < (nAproximar / 2), nResto, - (nResto - nAproximar) )
No lo he probado, pero creo que puede funcionar.
Un saludo.
Re: Redondear centena
Code: Select all | Expand
function Main()
local n
n := 4785
? if( Round( n / 100, 0 ) > Int( n / 100 ), Round( n / 100, 0 ) * 100, Round( n / 100, 0 ) * 100 + 50 )
n := 4727
? if( Round( n / 100, 0 ) > Int( n / 100 ), Round( n / 100, 0 ) * 100, Round( n / 100, 0 ) * 100 + 50 )
Return nil
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- leandro
- Posts: 1728
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 24 times
- Been thanked: 4 times
- Contact:
Re: Redondear centena
Excelente amigo, muchísimas gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
Re: Redondear centena
Hola, mas simples...
nAproximar := 50
nRedondear := 47085
? round(nRedondear / nAproximar, 0) * nAproximar
Saludos, Euclides
nAproximar := 50
nRedondear := 47085
? round(nRedondear / nAproximar, 0) * nAproximar
Saludos, Euclides
- leandro
- Posts: 1728
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 24 times
- Been thanked: 4 times
- Contact:
Re: Redondear centena
Euclides, muchas gracias por la ayuda, excelente solución también
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]