我想通过点击小部件将字符串值转换为日期,例如 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
我想通过点击小部件将字符串值转换为日期,例如 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
{{ 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
这就是我所做的;
<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>