我想通过点击窗口小部件将字符串值转换为日期,例如24
→1
{% block convert_day %}
<td>{{ form_widget(form['crush']) }}</td>
<td><!-- displaying my value in day --></td>
{% endblock %}
否它不起作用!
为了更清楚,我想做类似的事情,但只显示天数:http://www.convertworld.com/en/time/Days.html
答案 0 :(得分:0)
{{ hourValue / 24 }}
或者,如果要将值四舍五入到小数位:
{{ hourValue / 24 | number_format(2, ".", ",") }}
文档:
http://twig.sensiolabs.org/doc/templates.html#math http://twig.sensiolabs.org/doc/filters/number_format.html
修改的
或者,您可以将精度放入表单实例本身。当你创建表单时,你可能在控制器中做了类似的事情(或者如果表单有自己的类,你在类的buildForm()
方法中做了类似的事情):
$form = $this->createFormBuilder($entity)
->add('name', 'text')
->getForm();
当您添加crush
字段时,您可以通过添加precision
选项指定应在表单上显示的小数位数:
$form = $this->createFormBuilder($entity)
->add('name', 'text')
->add('crush', 'number', array('precision' => 3) )
->getForm();
然后,表单将在将值插入数据库之前对其进行舍入。
文档:
http://symfony.com/doc/current/reference/forms/types/number.html#precision
答案 1 :(得分:0)
<script type="text/javascript">
function execute_time_ext(clicked) {
if (document.forms && document.forms['show_convert']) {
var from = document.forms['show_convert'].unit_from.value;
var elms = document.getElementsByName('unit');
var amount = document.forms['show_convert']['value'].value;
var to;
var amount_int = ['show_convert']['value'] - 0;
for (var i=0; i<elms.length; i++) {
to = elms[i].value;
convert(show_convert['value'], from, to, false, false);
}
var cookie = 'default_decimals';
if (getCookie(cookie) != decimals) {
setCookie(cookie, decimals, null, '/');
}
} else {
if (clicked) {
alert('Converter error. Conversion not supported by browser.');
}
}
}
execute_time_ext(false);
</script>
小部件:
<div onkeyup="execute_time_ext(true)" onchange="execute_time_ext(true)"> {{ form_widget(form['value']) }} {% endblock %}
<div> <input id="value_4" type="hidden" value="365.25|0|4" name="unit"></div>
</div>