I would like to pass some double value to ListStore's constructor but it doesn't allows me to do.

import gtk.Main;
import gtk.MainWindow;
import gtk.Box;
import gtk.ListStore;
import gtk.TreeView;
import gtk.TreeViewColumn;
import gtk.TreeIter;
import gtk.CellRendererText;


class MyWindow: MainWindow
{
    Box mainBox;

    this()
    {
        super("Tree view exercise");
        setBorderWidth(10);
        mainBox = new Box(Orientation.HORIZONTAL, 0);
        add(mainBox);


        showAll();
    }
}

class InfoModel: ListStore /* model */
{
    this()
    {
        super([GType.STRING, GType.DOUBLE]);

    }

    void addGoods(string name, double price)
    {
        TreeIter iterator = createIter();
        setValue(iterator, 0, name);
        setValue(iterator, 1, price);
    }
}

class DisplayModel: TreeView /* view */
{
    TreeViewColumn articleColumn;
    TreeViewColumn priceColumn;

    this (ListStore model)
    {
        articleColumn = new TreeViewColumn("Article", new CellRendererText(), "text", 0);

    }

}

void main(string[] args)
{
    Main.init(args);
    new MyWindow();
    Main.run();
}

When I try to compile this program it gives this error message:

Error: none of the overloads of 'setValue' are callable using argument types (TreeIter, int, double), candidates are:

import/gtk/ListStore.d(273): gtk.ListStore.ListStore.setValue(TreeIter iter, int column, string value)
import/gtk/ListStore.d(281): gtk.ListStore.ListStore.setValue(TreeIter iter, int column, int value)
import/gtk/ListStore.d(569): gtk.ListStore.ListStore.setValue(TreeIter iter, int column, Value value)

Also is it possible to round this double to 2 decimal places when presenting data with GtkTreeView.