You need to cast float to var in order for printf to work.

Yes, var(double) is double the width of float. This has implications for pointer arithmetic / array positions.

You can read var and strings up to seven characters in length in your asset list for AssetVar and AssetStr, respectively.