- if ($this->product->product_packaging > 0) {
- echo '<div>'.JText::_('COM_VIRTUEMART_PRODUCT_PACKAGING').': ' . round($this->product->product_packaging.$this->product->product_unit, 3) .'</div>';
Das ist leider falsch. Die Einheit darf nicht im Round stehen, es ist also
- echo '<div>'.JText::_('COM_VIRTUEMART_PRODUCT_PACKAGING').': ' . round($this->product->product_packaging, 3) . $this->product->product_unit .'</div>';
und eigentlich ohne die : und noch besser mit sprintf, eigentlich. Aber es gibt da noch was viel besseres und da muß man noch nichtmal coden.
product customfields
und zwar vom typ P, Property. Ich weiß grad nicht, wie es auf Deutsch heißt. Beim Prototyp stellste ein "COM_VIRTUEMART_CUSTOM_PARAM_ROUND" auf ja. (jaja is no ni übersetzt, mea culpa). Wenn man das dann im Produkt einstellt, kann man z.B. einstellen "zeige mir das Produktgewicht" und dort kann man direkt das Rounding einstellen. Einfach das Feld dahinter.
Dann mußte in dein Layout das customfield einbauen, daß ist aber nur die Copy einer Zeile und gehört eigentlich zum Grundzeug, weil es einfach extrem viel vereinfacht, wenn man die Customfields und sublayouts versteht. 
Mehr info hier Customfields - VirtueMart Documentation
Hier Custom Fields - VirtueMart Documentation
und hier Sublayouts - VirtueMart Documentation
okey, merke gerade, das was ich jetzt schreibe sollte auch noch ins Manual, man rendert beliebe customfields so
- echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'ontop'));
Der Witz ist, "ontop" ist eine Position, welche man selber im prototype setzt. Das heißt da kann man auch schreiben "dielaenge" (ascii is immer besser). Das setzt man dann bei der Position im Prototype des Customfield ein und schon tauchen alles customfields mit dieser Position dort auf. Die Reihenfolge ist imho die, welche im Produkt gesetzt ist.
Das ganze macht man dann am besten noch mit einen Stammprodukt, dann gilt das für alle Kinder. Das heißt in manchen shops, legt man das einmal an, macht immer Kinder von diesem Hauptprodukt und man muß sich nie mehr drum kümmern. 
Ich merke gerade, das ist alles noch viel zu verborgen, aber macht eigentlich den Witz von vm3 aus. Es ist nicht nur einfacher zu warten, es ist auch viel schneller, weil die Customfields nur einmal angelegt werden. Sie werden dann bei 50 Produkten auch nur einmal geladen.