El resultado introducido debe ser exacto.

12 + 11.5 = 23.5

Propiedad "min": 23,
Propiedad "max": 24,

Admite valores entre 23 y 24 ya que así se especifica con las propiedades "min": 23, "max": 24,.

12 + 11.5 =

Propiedad "values": [11, 13, 17, 19],

Ejemplo de cuadro numérico con varios valores correctos. Los valores aceptados se introducen en la matriz de la propiedad values. Si incluimos las propiedades min y max su rango también se considerará válido. En este ejemplo se han utilzado para admitir el valor 23.

En este ejemplo se utiliza el evento oncheck para mostrar la puntuación de la actividad (El código empleado es "oncheck": function () { $('[data-input-showinfo="input_ej4"]').append('Puntuación: '+ this.score); }).

Introduzca un número primo entre 10 y 25:

Propiedad "accuracy": 90,

Se admite la respuesta con una precisión del 90%, es decir, la solución debe introducirse con un margen de error del 10%. . Si la respuesta es 500 será válida una respuesta de 500±50.

L * X en romanos equivale a: 500

Operaciones con decimales

Propiedad "decimals": 2,
Propiedad "tofixed": 1,

Cuando pedimos una respuesta con decimales, en general, no deberemos contentarnos con introducir el valor pedido. Primero podemos colocar en la propiedad placeholder almohadillas para indicar al usuario los decimales pedidos (p .ej. #.## para dos decimales), pero como en los antiguos navegadores no funciona este atributo también podemos indicar el número de decimales que se requieren en la respuesta utilizando la propiedad decimals. El programa se encargará se introducir en el cuadro de texto una almohadilla por cada decimal que se pida (p .ej. con decimals: 2, se colocará #.##).

Aunque indiquemos el nº de decimales la respuesta puede ser demasiado estricta o el usuario introducir más decimales de los pedidos de forma que, por ejemplo, la respuesta correcta 15.12 y el valor introducido 15.123 después de compararse serán considerados como distintos. Existen varias soluciones a este problema: introducir un intervalo válido para la respuesta con las propiedades min y max, o introducir un margen de erro admitido con la propiedad accuracy.

Una de las mejores opciones es utilizar la propiedad tofixed para indicar a la biblioteca que antes de comparar la respuesta correcta con el valor introducido los convierta a un número concreto de decimales. Por ejemplo, con la propiedad tofixed: 2, el valor 15.123 será convertido a 15.12 antes de compararlo con 15.12 y dará la respuesta como correcta. Sin embargo todavía existe el problema de que el código convierte el valor ±15.125 a ±15.13 al redondear JavaScript los medios hacia arriba (hacia el infinito, positivo o negativo). Para evitar estos problemas de redondeo lo más recomendable es pedir al usuario x números de decimales y redondear las respuestas a x-1 decimales. Por ejemplo, pondríamos las propiedades "decimals": 2, "tofixed": 1,.

En el siguiente ejemplo el primer cuadro tiene la propiedad "tofixed" puesta a 2 y el segundo a 1. El primero da como errónea la respuesta de 15.125 y el segundo como correcta.

1) 4.2 x 3.6 = 15.12 (tofixed: 2)
2) 4.2 x 3.6 = 15.12 (tofixed: 1)