Hola:
Si no me equivoco, el operador % devuelve el módulo entre dos números enteros, así que con coma flotante no dá resultados fiables. De todos modos, la implementación de cosas matemáticas, aritméticas ecuacionales, etc. son muy básicas, así que si te importa la precisión, te recomiendo que recurras a lenguajes del servidor, o tal vez algo embebido como applets java, o tal vez flash (aunque dudo que sean buenas opciones)
Saludos