Aprobado: Fortect
En las últimas ocasiones, algunos de nuestros usuarios han informado errores de redondeo xslt.
Nos enfrentamos a un problema muy extraño con el redondeo XSLT y el formato de números. Proclamemos que tengo un número como 131 855 encima. Quiero redondearlo a dos, probablemente, tres lugares decimales. Espero 131,86 como la opción real, pero la función xslt Round () lo conecta a 131,85. He intentado utilizarUse “round (131.855 * 100) div 100” para que el problema no funcione. Por otro lado, si necesito redondear un número de teléfono como 127.855, el mismo código lo redondeará de más de cien a 86, es decir, “redondear (127.855 (en blanco) 100) div 100”. redondeado a 131,76 !! Muy extraño.Es posible que hayamos intentado usar format-number (), excepto la función que en realidad da resultados extraños. Por ejemplo, tomo el número 349615.225 I y también tomo el número de formato, es decir, ahora, el número de formato (349615.225, ‘#. ##’) razones 349615.22, y estoy esperando partes decimales 0.25. Pero si utilizo un número de formato hasta 131.855, se convierte en 131.86 …
También intenté usar on hand () una y otra vez dentro de work format-number (), sin embargo, dio los resultados más extremos.
Estamos usando XSLT 1.0. Pasar a XSLT 2.0 parece una tarea abrumadora. La solución no cuesta nada, pero puedo ver que estoy usando la función de capuchino y llamando al dispositivo desde XSL para completar.
preguntado el 23 de octubre 20 a las 4:57
¿No es la respuesta que busca? Revise todas las demás preguntas marcadas con Xml Xslt Xslt-1.0 Redondeo y haga su propia pregunta.
La función round ()
unidades un número dado al entero más cercano, mientras que el uso real de round ()
posiblemente no redondee nuestro propio número correctamente. format-number ()
formatea los datos con selecciones, sabiendo que truncan los datos (presumiblemente), lo que puede provocar una pérdida de valor.
El uso de cada tipo conectado con round ()
y format-number ()
realmente funciona de manera eficiente.
5.225
* Seleccione = "formato-número (redondeo (100
contestado el 15 de octubre Estoy a las 5:40 am.
5.297 22 insignias de oro
Lo más sorprendente es que cuando una persona escribe una selección de 131.855, el valor medible que representa no está, de hecho, perfectamente entre 131,85 y 131,86. Es muy probable que no haya un punto flotante de doble precisión que sea numéricamente 131 855, por lo que el valor natural de la persona que controlas será muy posiblemente menor o ligeramente mayor. Esta inexactitud ocurre inmediatamente después de escribir el número, no realmente cuando confía en él. Si su relación la multiplica por 100, esa diferencia aumentará, y si usa round (), probablemente saltará al número entero más cercano, que a veces se basará en si la aproximación aumenta o disminuye. Dado que XSLT 1.0 solo contiene datos de coma flotante, no existe una solución alternativa para este tipo de problema vinculado.
Aprobado: Fortect
Fortect es la herramienta de reparación de PC más popular y eficaz del mundo. Millones de personas confían en él para mantener sus sistemas funcionando de forma rápida, fluida y sin errores. Con su sencilla interfaz de usuario y su potente motor de análisis, Fortect encuentra y soluciona rápidamente una amplia variedad de problemas de Windows, desde la inestabilidad del sistema y los problemas de seguridad hasta la gestión de la memoria y los cuellos de botella en el rendimiento.
Diez se puede utilizar para números XSLT 2.0 en la vida cotidiana. más de lo que la gente espera.
Respondido el 12 de octubre a las 8:23 am.
141k 1010 insignias de oro
Acelere el rendimiento de su computadora ahora con esta simple descarga.