Ondalık sayı bir giriş metin değeri dönüştürme

1 Cevap php

Benim PHP ve MySql uygulamada ondalık veri ile çalışmak için çalışıyorum ve ben kabul edilebilir bir seviye af doğruluğu için yapabileceğiniz konusunda emin değilim.

Ben yazmıştım basit bir function ki benim input text value recives ve veritabanında saklanır bir decimal number hazır dönüştürür.

<?php

function unit ($value, $decimal_point = 2) {
    return number_format (str_replace (",", ".", strip_tags (trim ($value))), $decimal_point);
}

?>

Ben değiştirmek için bazı jQuery kodu ve sadece rakam, nokta ve virgül tutmak için bazı regex AbdlBsF5%?nl gibi bir şey çözdüğümü.

Bazı ülkede, insanlar virgül , ondalık sayılar göndermek, böylece gibi bir dizi 72.08 72,08 gibi yazdı kullanır. Ben her zamanki karakter değiştirmek için insanları zorluyor önlemek istiyorum ve ben de bu tutmak için bir jQuery kullanmaya karar verdik.

Şimdi her web geliştiricisi son doğrulama güvenlik nedenleriyle dinamik sayfası tarafından ele alınması gerekir bilir.

Yani benim cevabı ben unit (); fonksiyonu veri depolamak için veya kullanıcılar harfler veya başka bir şey gibi geçersiz karakter ekler olmadığını da kontrol etmelisiniz gibi bir şey kullanmak gerekir? Ben bu deneyin ve mektuplar göndermek, sorgu geçersiz verileri kaydetmek olmadan çalışır, ben bu kötü olmadığını düşünüyorum, ama ben acemiyim çünkü kolayca yanlış olabilir.

Ben böyle bir numara istiyorsanız, ne tür bir metot benim sorgu için kullanmanız gereken 99999.99?

1 Cevap

FLOAT(10,2) gibi bir şey ile biçimlendirmeyi de DATABASE değerleri dikkate unutmayın

IMHO bu da çok önemli!

O, gerçek bir doğrulama yapmak için kurs kullanım sunucu tarafı dili iyi uygulamadır!

Bu okuyabilirsiniz:

http://php.net/manual/en/function.number-format.php

javascript fantezi ve kullanışlı olabilir ama her ne kadar güvenli değil!