0

我想通过点击小部件将字符串值转换为日期,例如 241

{% 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

4

2 回答 2

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

于 2012-10-31T15:08:14.267 回答
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>
于 2012-11-06T09:47:56.673 回答