local fn Lunch_Invoice( burger_price as CFStringRef, burger_amount as CFStringRef, shake_price as CFStringRef, shake_amount as CFStringRef, tax as CFStringRef ) '~'1 DecimalNumberRef burgerPriceDecimal = fn DecimalNumberWithString( burger_price ) DecimalNumberRef burgerAmountDecimal = fn DecimalNumberWithString( burger_amount ) DecimalNumberRef burgersDecimal = fn DecimalNumberByMultiplyingBy( burgerPriceDecimal, burgerAmountDecimal ) DecimalNumberRef shakePriceDecimal = fn DecimalNumberWithString( shake_price ) DecimalNumberRef shakeAmountDecimal = fn DecimalNumberWithString( shake_amount ) DecimalNumberRef shakesDecimal = fn DecimalNumberByMultiplyingBy( shakePriceDecimal, shakeAmountDecimal ) DecimalNumberRef taxDecimal = fn DecimalNumberWithString( tax ) DecimalNumberRef subtotalDecimal = fn DecimalNumberByAdding( burgersDecimal, shakesDecimal ) DecimalNumberRef taxTotalDecimal = fn DecimalNumberByMultiplyingBy( subtotalDecimal, taxDecimal ) DecimalNumberRef adjTaxTotalDecimal = fn DecimalNumberByAdding( taxTotalDecimal, fn DecimalNumberWithString( @"0.01" ) ) DecimalNumberRef billTotalDecimal = fn DecimalNumberByAdding( subtotalDecimal, adjTaxTotalDecimal ) CFStringRef burgersString = fn DecimalNumberString( burgersDecimal ) CFStringRef shakesString = fn DecimalNumberString( shakesDecimal ) CFStringRef taxTotalString = fn DecimalNumberString( adjTaxTotalDecimal ) CFStringRef billTotalString = fn DecimalNumberString( billTotalDecimal ) printf @"%@", fn StringByPaddingToLength( @"", 55, @"-", 0 ) printf @"Item Price Quantity Cost" printf @"Hamburgers %6s %18s %18s", fn StringUTF8String( burger_price ), fn StringUTF8String( burger_amount ), fn StringUTF8String( burgersString ) printf @"Milkshakes %6s %18s %18s", fn StringUTF8String( shake_price ), fn StringUTF8String( shake_amount ), fn StringUTF8String( shakesString ) printf @"%@", fn StringByPaddingToLength( @"", 55, @"-", 0 ) printf @"%34s %@", fn StringUTF8String( @"Subtotal:" ), fn DecimalNumberString( subtotalDecimal ) printf @"%35s %@", fn StringUTF8String( @" Tax: " ), fn StringSubstringToIndex( taxTotalString, len(taxTotalString) - 3 ) printf @"%34s %@", fn StringUTF8String( @" Total:" ), fn StringSubstringToIndex( billTotalString, len(billTotalString) - 3 ) end fn NSLog( @"%@", fn WindowPrintViewString( 1 ) ) HandleEvents