Skip to content

pb.encode double/float 类型数据,在C++里ParseFromString会有问题。 #258

@hz-bin

Description

@hz-bin

lua代码:

protoc:load([[
	syntax = "proto3";
	message TestNumber {
		double a = 1;
		float b = 2;
		int32 c = 3;
	}
]])
local tt = {
	a = 100,
	b = 200,
	c = 300
}
local s = pb.encode("TestNumber", tt)
PBTestNumber(s)

C++代码:

int PBTestNumber(lua_State* L) {
    string s = lua_tostring(L, 1);
    TestNumber* msg = new TestNumber();
    msg->ParseFromString(s);
    std::cout << "in PBTestNumber msg=" << msg->ShortDebugString() << std::endl;
    return 0;
}

这里输出的是:in PBTestNumber msg=c: 300

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions