Estoy usando un "lenguaje de programación" que sólo permite operaciones básicas: suma, resta, multiplicación y división.
¿Es posible emular una función de piso (es decir, dejar caer los decimales un número) utilizando sólo esos operadores? Sólo estoy interesado en los números positivos
Edición: Aquí está el documentación describiendo lo que es posible (que es sólo aritmética elemental)
21 votos
Muchos lenguajes de programación hacen un suelo automáticamente cuando se dividen dos enteros.
4 votos
No puedes hacer comparaciones en el programa, ¿verdad?
1 votos
Por cierto, otra referencia: w3.org/TR/css3-values/#calc-notation
3 votos
Un poco indirecta, tal vez, pero ¿se puede convertir el tipo en una cadena? Entonces podrías arrancar los decimales con operaciones de cadena y volver a convertirlo.
3 votos
Puede que quiera buscar en LESS ( lesscss.org ), un preprocesador de CSS que tiene
floor
,ceil
y muchos más.1 votos
Ya estoy usando Sass pero el redondeo tiene que hacerse en el navegador porque estoy usando porcentajes y valores de píxeles.
1 votos
¿Cómo gestiona el lenguaje las conversiones de tipo? Es posible que puedas salirte con la tuya asignando a una variable entera el valor de un número decimal.
0 votos
El lenguaje no diferencia los enteros de otros tipos.
1 votos
También puede considerar la posibilidad de preguntar esto en stackoverflow.com Quizás el lenguaje proporciona alguna otra forma oscura de lograrlo.
1 votos
Por lo general, si la respuesta en CSS implica ronda/suelo/etc., hay que volver a formular la pregunta. ¿Qué es lo que estás tratando de hacer, exactamente?
0 votos
@fluffy en usar el "truco del padding-top" para forzar a un elemento a mantener una proporción establecida. Desafortunadamente esto no siempre se alinea correctamente con el resto debido al error de redondeo, empujando la siguiente línea de bloques una fila hacia abajo (usando Packery con un rowHeight fijo). Terminé usando margin-bottom:1px. Voy a publicar un enlace cuando el sitio se publica.
0 votos
Relacionado: stackoverflow.com/questions/25662159/chrome-37-calc-rounding
0 votos
¿Podría utilizar el navegador para hacer el redondeo por usted? ¿Poner un atributo Integer-Only en el valor que has calculado y volver a leer ese valor? Como elemento_invisible.algún_atributo = x/c; elemento_real.atributo = elemento_invisible.algún_atributo; - ¿Tal vez hay algunos atributos que se redondean o se rebajan automáticamente?