В PHP и C++ можно использовать printf () функция
printf("$%01.2f", $money);
[in, out]
означает, что действительное значение передается при вызове метода, а действительное значение присутствует (на которое указывает указатель), когда метод возвращает успех. [out]
означает, что указанное значение может быть любым при вызове метода, но оно будет действительным, когда метод вернет успех. Оба параметра [out]
и [in, out]
должны быть указателями - их значения неизменны и действительны, а требования действительности применяются только к тем переменным, на которые они указывают.
[out, retval]
- это синтаксический сахар, указывающий, что при создании оболочки Native COM Support этот самый параметр должен быть преобразован в возвращаемое значение. Например,
HRESULT MyMethod( [out] long* OutParam1, [out, retval] long* OutParam2 );
становится
long IWrappedInterface::MyMethod( long* OutParam1 );
. Если вы не отметите его [retval]
, оболочка будет содержать метод с исходной подписью:
HRESULT IWrappedInterface::MyMethod( long* OutParam1, long* OutParam2 );
Только последний [out]
параметр можно пометить как [out, retval]
. Параметры [in, out]
нельзя пометить как [retval]
.