fork(1) download
  1. <?php
  2. //Problema al guardar valores decimales (cifras monetarias ) en una base de datos mysql
  3. // http://es.stackoverflow.com/q/41516/127
  4.  
  5.  
  6. function eliminar_puntos_tres_digitos($valor){
  7. return preg_replace('/(\d)\.(?=\d{3}(?!\d))/', '$1', $valor);
  8. }
  9.  
  10.  
  11.  
  12. // ---- Datos de prueba
  13.  
  14. $datosPrueba = ['123.00', '123.0001', '123.456', '123.456.789',
  15. '123.', '.123', '123.456.7', '123.456.789.1'];
  16.  
  17. foreach ($datosPrueba as $valor) {
  18. $procesado = eliminar_puntos_tres_digitos($valor);
  19.  
  20. echo "\nOriginal: $valor \tResultado: $procesado";
  21. }
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Original: 123.00 	Resultado: 123.00
Original: 123.0001 	Resultado: 123.0001
Original: 123.456 	Resultado: 123456
Original: 123.456.789 	Resultado: 123456789
Original: 123. 	Resultado: 123.
Original: .123 	Resultado: .123
Original: 123.456.7 	Resultado: 123456.7
Original: 123.456.789.1 	Resultado: 123456789.1