Hola de nuevo, tengo el siguiente codigo
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
}
$number = 400000 - $txtMonto1;
El codigo hace una resta con el numero 400.000 y otro valor que seria txtMonto1 la resta la hace bien pero el problema es que no logro colocar los puntos por ejemplo en ves de 400.000,00 sale solo 400000 he intentado de muchas formas no se que estoy haciendo mal..
gracias
PD: La idea es que muestre el resultado de la resta con sus decimales por ejemplo la resta entre 400000 y 250000 la muestre ejemplo: 150.000,00
si concatenas ",00"???
Hola, muchas gracias por responder estaba esperando ayuda no entiendo lo de contatenar agradeceria la ayuda muchas gracias
concatenar tu variable
$number.",00";
pero ahora seria de tipo string
Gracias por la ayuda no se que hago mal pero me tira error
$number.",00"; = 40000; - $txtMonto1;
creo que no me entendiste del todo
seria asi
$number= 40000 - $txtMonto1;
$number=$number.",00";
echo $number
Ok muy bien me quedo asi: 40000,00 y ahora como hago la separacion en el mil para que quedase de esta formal 40.000,00 muchisimas gracias!! ;-)
tienes que recorrer por la variable string $number y poner puntos por cada tres numero, iniciando de la derecha a izquierda, cada vez concatenando
Aun no lo logro hacer, estaba leyendo por ahi y encontre este codigo :
$numero = 15200.67;
number_format($numero,2);
//devuelve 15,201.67
intente usarlo pero no me sirve o es que no lo se meter, me pasarias el codigo correcto? gracias , con lo de concatenar estoy intentando editando el texto pero aun no lo logro.
PD: Lo que quiero es que como es una resta por ejemplo si coloco en el $txtMonto desde una caja de texto externe por ejemplo: 250.555,05 se reste con el valor de 400000 y me arroje 149.444,95
lo haria asi
$copia=strrev($numero);
$resultado;
for ($i = 0; $i <strlen($copia); $i++) {
$resultado=$resultado.$copia[i];
if(i%3==0){
$resultado=$resultado.".";
}
}
no se si estara bien, porque no hice la prueba, pero la idea es esa :laugh: :laugh: :laugh:
Disculpa mi ignorancia amigo, pero no se que hacer con ese codigo que me pasaste
quedaria asi masomenos hace la prueba y corrigelo
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
$numero= 40000 - $txtMonto1;
$copia=strrev($numero);
$resultado;
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[i];
if(i%3==0){
$resultado=$resultado.".";
}
}
$resultado=$resultado.",00";
echo $resultado;
}
Me sigue saliendo igual en el resultado , 40000 sin los puntos T_T
lo corregi el for, talves ahora si funcione?
Aun nada mi querido amigo, aqui esta el codigo completo para que lo revises
<?php
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
}
$txtDescripcion1="";
if (!empty($_REQUEST['txtDescripcion1'])){
$txtDescripcion1=$_REQUEST['txtDescripcion1'];
}
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
$numero= 40000 - $txtMonto1;
$copia=strrev($numero);
$resultado;
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[i];
if(i%3==0){
$resultado=$resultado.".";
}
}
$resultado=$resultado.",00";
echo $resultado;
}
$ip = $_SERVER["REMOTE_ADDR"];
setlocale(LC_TIME, 'spanish');
date_default_timezone_set("America/Caracas");
$hora = strftime(" %A %#d de %B del %Y");
//Luego sobrescribo el txt
$archivo="./editar/nombre.txt";
$file=fopen($archivo,"a");
fwrite($file,"".PHP_EOL.PHP_EOL. "var texto16= \"$txtMonto1\"" .PHP_EOL. "var texto17= \"$txtDescripcion1\"" .PHP_EOL. "var texto18= \"$hora\"" .PHP_EOL .PHP_EOL. "var texto21= \"$numero\"" .PHP_EOL .PHP_EOL. PHP_EOL.PHP_EOL.PHP_EOL);
fclose($file);
header("Location: afilia6.html");
?>
proba con esto
$numero= 40000 ;
$copia=strrev($numero);
$resultado="";
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if($i%3==0){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
faltaban muchos $
saludos...
Amigo ya sale con los decimales pero no hace la resta!!! yo creo que ya casi :-X
<?php
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
}
$txtDescripcion1="";
if (!empty($_REQUEST['txtDescripcion1'])){
$txtDescripcion1=$_REQUEST['txtDescripcion1'];
}
$numero= 40000 ;
$copia=strrev($numero);
$resultado="";
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if($i%3==0){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
$ip = $_SERVER["REMOTE_ADDR"];
setlocale(LC_TIME, 'spanish');
date_default_timezone_set("America/Caracas");
$hora = strftime(" %A %#d de %B del %Y");
//Luego sobrescribo el txt
$archivo="./editar/nombre.txt";
$file=fopen($archivo,"a");
fwrite($file,"".PHP_EOL.PHP_EOL. "var texto16= \"$txtMonto1\"" .PHP_EOL. "var texto17= \"$txtDescripcion1\"" .PHP_EOL. "var texto18= \"$hora\"" .PHP_EOL .PHP_EOL. "var texto21= \"$resultado\"" .PHP_EOL .PHP_EOL. PHP_EOL.PHP_EOL.PHP_EOL);
fclose($file);
header("Location: afilia6.html");
?>
Sera que hay algo mal?
<?php
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
$numero= 40000 - $txtMonto1;
$copia=strrev($numero);
$resultado="";
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if($i%3==0){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
}
$txtDescripcion1="";
if (!empty($_REQUEST['txtDescripcion1'])){
$txtDescripcion1=$_REQUEST['txtDescripcion1'];
}
supongo que quieres restar 4000 menos tu numero, talves o no se
Oye muchas gracias, pero creo que me faltaria un ultimo detalle
el valor es 40000 (cuarenta mil) y me aparece 4.000,00 (cuatro mil) y al 4000 le resto 1000 y me arroja 3.900,00
$num = 4000;
$num2 = 1000;
echo number_format(($num - $num2), 2, ',', '.'); //3.000,00
corrige esta parte
[code]$resultado="";
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
[/code]
por
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
Cita de: EFEX en 3 Septiembre 2016, 07:17 AM
$num = 4000;
$num2 = 1000;
echo number_format(($num - $num2), 2, ',', '.'); //3.000,00
ahi se nota que no domino aun la programacion, esa es una mejor respuesta 100%
saludos
Amigo ya casi que esta listo, muy bien!! ;-)
Solo que como no entiendo el codigo no lo puedo editar! pero ya el resultado esta bien solo que el punto esta mal porque si hay 40000 (cuarenta mil) y le resto 20000 (veinte mil) me arroja 2.0000,00 cuando deberia ser 20.000,00 muchas graciaas
intenta solucionarlo, porfavor
Estoy intentandolo pero solo errores u.u
No entiendo esto, no se cuales son los puntos , mas que todo html se un poco pero en esto pido tu ayuda porfavor
$copia=strrev($numero);
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if($i%3==0){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
<?php
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
$numero= 40000 - $txtMonto1;
echo number_format(($numero), 2, ',', '.');
$txtDescripcion1="";
if (!empty($_REQUEST['txtDescripcion1'])){
$txtDescripcion1=$_REQUEST['txtDescripcion1'];
}
proba con eso
Ya lo acabo de probar y No me sirvio, pero ya tu codigo me estaba sirviendo solo falta la poscision del punto en ves de 4.0000,00 sea 40.000,00
copia este codigo
$numero=40000;
echo number_format(($numero), 2, ',', '.');
y probalo en
http://phptester.net/
y funciona a la perfeccion.
Si ya lo probe en esa web y funciona, pero en mi codigo no funciona lo intente de varias formas y nada ..
<?php
$txtMonto1="";
if (!empty($_REQUEST['txtMonto1'])){
$txtMonto1=$_REQUEST['txtMonto1'];
$numero= 400000 - $txtMonto1;
echo number_format(($numero), 2, ',', '.');
}
$txtDescripcion1="";
if (!empty($_REQUEST['txtDescripcion1'])){
$txtDescripcion1=$_REQUEST['txtDescripcion1'];
}
$ip = $_SERVER["REMOTE_ADDR"];
setlocale(LC_TIME, 'spanish');
date_default_timezone_set("America/Caracas");
$hora = strftime(" %A %#d de %B del %Y");
//Luego sobrescribo el txt
$archivo="./editar/nombre.txt";
$file=fopen($archivo,"a");
fwrite($file,"".PHP_EOL.PHP_EOL. "var texto16= \"$txtMonto1\"" .PHP_EOL. "var texto17= \"$txtDescripcion1\"" .PHP_EOL. "var texto18= \"$hora\"" .PHP_EOL .PHP_EOL. "var texto21= \"$numero\"" .PHP_EOL .PHP_EOL. PHP_EOL.PHP_EOL.PHP_EOL);
fclose($file);
header("Location: afilia6.html");
?>
que error te sale?
No sale ningun error, solo que en el resultado sale el numero solo osea : 40000 he intentado con ese codigo mucho y sin obtener ningun resultado , el otro codigo que me estabas pasando ya esta casi listo pero no se como arreglarlo.
gracias.
$copia=strrev($numero);
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if(($i+1)%3==0){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
ultimo intento, tengo que dormir
saludos...
Jajaja, hey hermano te agradezco el mundo!! jajaja
solo que en el resultado aparece un . adelante asi: .40.000,00 como lo quito.
gracias!!!!!!!
Fijate en fwrite.. te olvidaste de concatenar las variables.Podes agregar esto al principio para que muestre los errores
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(E_ALL);
Sino ver los logs de error del servidor o modificar php.ini, modificar..
Citardisplay_errors = on
puedes cambiar
if(($i+1)%3==0){
por esto:
if(($i+1)%3==0 && $i!=strlen($copia)){
Hola, gracias por la ayuda, pero aun sigue el punto antes de el monto, sale asi : .400.000,00 >:( >:(
funciona
$copia=strrev(40000);
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if(($i+1)%3==0 && $i!=strlen($copia)){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
proba en http://phptester.net/
Prueba en PHPTESTER con este amigo:
<?php$copia=strrev(400000);
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if(($i+1)%3==0 && $i!=strlen($copia)){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
ahora si asunto resuelto , bueno eso espero.
$copia=strrev(40000000);
$resultado=$copia[0];
for ($i = 1; $i <=strlen($copia); $i++) {
$resultado=$resultado.$copia[$i];
if(($i+1)%3==0 && $i<strlen($copia)-1){
$resultado=$resultado.".";
}
}
$resultado=strrev($resultado);
$resultado=$resultado.",00";
echo $resultado;
Muchas gracias, problema resuelto vale. ;D